我想写一个Python脚本,读取在我的Facebook页面上写消息的Facebook用户的名字。
我正在使用facebook-sdk Python库。行
graph = facebook.GraphAPI(page_access_token)
profile = graph.get_object(profile_id)
posts = graph.get_connections(profile['id'], 'feed')
print(posts['data'][0]['message'])
print(posts['data'][0]['from']['name'])
当我使用从Graph API资源管理器中复制它时检索到的短期访问令牌时,正常工作。
但是当我生成一个永不过期的页面访问令牌(读取here)时,Python脚本想要检索名称的最后一行出错。 (KeyError: 'from'
)
那我该如何设置正确的权限呢?访问令牌具有user_about_me, user_posts, read_page_mailboxes, manage_pages, publish_pages, public_profile
权限,但仍然无效。也许我设置了我创建的应用程序以检索新的访问令牌时出错了什么?
或许这可能不是权限问题? (见我的previous question。)
答案 0 :(得分:0)
如果您使用的是v2.4或更高版本,则需要手动指定要检索的字段。不幸的是,您正在使用的项目中没有记录:
posts = graph.get_connections(profile['id'], 'feed', 'fields=id,message,from')
根据{{3}} ,应该可行