【发布时间】:2017-02-20 03:47:14
【问题描述】:
我创建了一个 facebook 页面,并尝试使用以下代码在页面墙上发布。它是用 python 编写的,使用 facebook SDK。
def main():
cfg = {
"page_id" : "PAGE_ID", # Step 1
"access_token" : "USER_ACCESS_TOKEN" # Step 3
}
graph = facebook.GraphAPI(cfg['access_token'])
id = graph.get_object('me')['id']
print(graph.get_permissions(user_id=id))
resp = graph.get_object('me/accounts')
page_access_token = None
for page in resp['data']:
if page['id'] == cfg['page_id']:
page_access_token = page['access_token']
api = facebook.GraphAPI(page_access_token)
msg = "Hello, world!"
print(api.get_permissions(user_id=id))
print(api.put_wall_post(msg))
下面的输出有错误:
{'user_posts', 'publish_actions', 'public_profile', 'pages_manage_cta', 'manage_pages'}
{'user_posts', 'publish_actions', 'public_profile', 'pages_manage_cta', 'manage_pages'}
print(api.put_wall_post(msg))
File "C:\Python34\lib\site-packages\facebook_sdk-3.0.0a0-py3.4.egg\facebook\__init__.py", line 188, in put_wall_post
File "C:\Python34\lib\site-packages\facebook_sdk-3.0.0a0-py3.4.egg\facebook\__init__.py", line 169, in put_object
File "C:\Python34\lib\site-packages\facebook_sdk-3.0.0a0-py3.4.egg\facebook\__init__.py", line 298, in request
facebook.GraphAPIError: (#200) The user hasn't authorized the application to perform this action
我不明白我做错了什么?我正确地授予了用户权限。我检查了其他重复的问题,但他们的解决方案不适用于当前的 facebookSDK。有人可以帮帮我吗?
【问题讨论】:
-
用户需要授予应用 publish_pages 才能在页面上发布
-
非常感谢,我为此奋斗了 6 个小时。
-
请将其发布为答案,以便我将其标记为已接受。
标签: python facebook python-3.x facebook-graph-api facebook-sdk-4.0