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

时间:2013-05-24 16:47:10

标签: python facebook facebook-graph-api

我发现this Library它似乎是正式的found this,但每当我找到答案时,其中一半是指向Facebook API Documentation的链接,其中涉及Javascript或PHP以及如何从链接中提取它!

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

注意:我真的不明白,如果我们可以使用tokenurllib来提取信息,为什么要使用库并且无法提取regex

3 个答案:

答案 0 :(得分: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)

希望这有帮助。

答案 1 :(得分:6)

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

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

在Python中,它将涉及设置Web服务器,例如使用facepy

更新供稿的脚本
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')

答案 2 :(得分:2)

这是我尝试使用Tornado的Gist,因为答案使用了web.py

https://gist.github.com/abdelouahabb/5647185