如何使用Python库获取Facebook访问令牌?

Abd*_*hab 7 python facebook facebook-graph-api

我发现这个库似乎是官方的,然后发现了这个,但每次我找到答案时,其中一半是Facebook API文档的链接,它谈论Javascript或PHP以及如何从链接中提取它!

我如何在简单的python脚本上创建它?

注意:我真的不明白,为什么token我们可以使用urllib和regex提取信息,为什么使用库和不能提取?

小智 9

不确定这是否有助于任何人,但我能够通过遵循此代码获得oauth_access_token.

from facepy import utils
app_id = 134134134134 # must be integer
app_secret = "XXXXXXXXXXXXXXXXXX" 
oath_access_token = utils.get_application_access_token(app_id, app_secret)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


phw*_*hwd 6

Javascript和PHP可以用作Web开发语言.您需要一个Web前端,以便用户授予权限,以便您可以获取访问令牌.

重新说明:您无法以编程方式获取访问令牌,必须有手动用户交互

在Python中,它将涉及设置Web服务器,例如使用facepy更新feed的脚本

import web
from facepy import GraphAPI
from urlparse import parse_qs

url = ('/', 'index')

app_id = "YOUR_APP_ID"
app_secret = "APP_SECRET"
post_login_url = "http://0.0.0.0:8080/"

user_data = web.input(code=None)

if not user_data.code:
    dialog_url = ( "http://www.facebook.com/dialog/oauth?" +
                               "client_id=" + app_id +
                               "&redirect_uri=" + post_login_url +
                               "&scope=publish_stream" )

    return "<script>top.location.href='" + dialog_url + "'</script>"
else:
    graph = GraphAPI()
    response = graph.get(
        path='oauth/access_token',
        client_id=app_id,
        client_secret=app_secret,
        redirect_uri=post_login_url,
        code=code
    )
    data = parse_qs(response)
    graph = GraphAPI(data['access_token'][0])
    graph.post(path = 'me/feed', message = 'Your message here')
Run Code Online (Sandbox Code Playgroud)