我需要哪些权限才能读取发布到 Facebook 页面的用户的姓名?

Posted

技术标签:

【中文标题】我需要哪些权限才能读取发布到 Facebook 页面的用户的姓名?【英文标题】:What permission(s) do I need to read the names of the users who posted to a Facebook page? 【发布时间】:2015-10-22 12:17:48 【问题描述】:

我想编写一个 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。)

【问题讨论】:

【参考方案1】:

如果您使用的是 v2.4 或更高版本,则需要手动指定要检索的字段。不幸的是,您正在使用的项目中没有记录:

posts = graph.get_connections(profile['id'], 'feed', 'fields=id,message,from')

根据https://github.com/pythonforfacebook/facebook-sdk/blob/master/facebook/init.py#L117我猜应该可以工作

【讨论】:

以上是关于我需要哪些权限才能读取发布到 Facebook 页面的用户的姓名?的主要内容,如果未能解决你的问题,请参考以下文章

AWS S3 需要哪些权限才能通过云端下载文件

我的应用需要哪些权限才能将用户添加到群组?

IOS如何获取Facebook扩展权限对话框

升级图 API 2.0 后从 Facebook 读取新闻提要失败

发布或管理权限不允许请求有读取权限 FACEBOOK SDK

为啥我需要 READ_CONTACTS 权限才能读取通话记录?