我在 facebook 中创建应用程序并在我的个人资料中创建页面。在“选择您的应用程序如何与 Facebook 集成”部分中,我没有选择任何选项,因为我只想将文本发布到 Facebook 页面(也许这是问题?)。我有这个代码:
FACEBOOK_APP_ID = 'myappid'
FACEBOOK_APP_SECRET = 'myappsecret'
FACEBOOK_PROFILE_ID = 'myprofileid'
oauth_args = dict(client_id = FACEBOOK_APP_ID,
client_secret = FACEBOOK_APP_SECRET,
scope = 'publish_stream',
grant_type = 'client_credentials'
)
oauth_response = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)).read()
oauth_response 看起来不错
但是当我运行时:
resp = urllib.urlopen('https://graph.facebook.com/me/accounts?'+oauth_response).read()
我得到错误:
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}
我究竟做错了什么?例如,当我单击我的网站(Django)上的按钮时,我想在页面墙上发布一些文本。
更新:
好的,我在 json 中获取页面数据。我解析它并得到page_access_token,但是当我调用它时:
attach = {
"name": 'Hello world',
"link": 'http://linktosite',
"caption": 'test post',
"description": 'some test'
}
facebook_graph = facebook.GraphAPI(page_access_token)
try:
response = facebook_graph.put_wall_post('', attachment=attach)
except facebook.GraphAPIError as e:
print e
我收到错误:“目标用户尚未授权此操作”