如何解决 facebook 在 python 中获取访问令牌错误?
Posted
技术标签:
【中文标题】如何解决 facebook 在 python 中获取访问令牌错误?【英文标题】:how to solve facebook get access token error in python? 【发布时间】:2015-11-04 13:58:14 【问题描述】:我已经通过控制台在python中安装了facebook模块
pip install facebook-sdk
然后注册到 facebook api 以获取 app_id 和 app_secret。我不会在下面披露它们。
import facebook
app_id = '00000'
app_secret = 'xxxx'
access_token = facebook.get_app_access_token(app_id,app_secret)
当我执行它以获取 access_token 时,我的 python 控制台抛出以下错误:
Traceback (most recent call last):
File "<ipython-input-18-0dfc0fd92367>", line 1, in <module>
access_token = facebook.get_app_access_token(app_id,app_secret)
AttributeError: 'module' object has no attribute 'get_app_access_token'
请帮忙。
【问题讨论】:
【参考方案1】:这是一个已知问题。只需卸载facebook
和facebook-sdk
,然后仅重新安装facebook-sdk
。
sudo pip uninstall facebook
sudo pip uninstall facebook-sdk
sudo pip install facebook-sdk
此外,您可以通过以下方式实现自己的get_app_access_token
:
def get_app_access_token(app_id, app_secret):
"""Get the access_token for the app.
This token can be used for insights and creating test users.
@arg app_id :type string :desc retrieved from the developer page
@arg app_secret :type string :desc retrieved from the developer page
Returns the application access_token.
"""
# Get an app access token
args = 'grant_type': 'client_credentials',
'client_id': app_id,
'client_secret': app_secret
f = urllib2.urlopen("https://graph.facebook.com/oauth/access_token?" +
urllib.urlencode(args))
try:
result = f.read().split("=")[1]
finally:
f.close()
return result
结果将有您的访问令牌。
【讨论】:
非常感谢@naqushab 的帮助。成功执行后,我的下一行代码出现错误 graph = facebook.GraphAPI(access_token) AttributeError: 'module' 对象没有属性 'GraphAPI'以上是关于如何解决 facebook 在 python 中获取访问令牌错误?的主要内容,如果未能解决你的问题,请参考以下文章
将 SBJson 与 facebook sdk 静态库一起使用
Spring-Security-Facebook 插件,Facebook 登录错误
当前用于 facebook-oauth 的纯 python 解决方案?
Facebook : 如何使用 xmpp 将私人消息作为粉丝页面发送