Python Facebook SDK 获取我自己的照片

Posted

技术标签:

【中文标题】Python Facebook SDK 获取我自己的照片【英文标题】:Python Facebook SDK get my own photos 【发布时间】:2017-08-10 23:40:28 【问题描述】:

我正在尝试使用Facebook SDK for Python 编写一个python 脚本来下载我自己的所有照片。

 my_token = 'user_access_token'
 import facebook
 graph = facebook.GraphAPI(access_token=my_token, version='2.7')
 photos = graph.get_connections(id='me', connection_name='photos')
 photos

但是照片是一个空字典。

'data': []

我意识到我只有 user_friends, public_profile 权限每个我的用户访问令牌是用我自己的 fb 帐户生成的,如果我需要的权限超过这些权限,我需要申请应用审查"Apps that ask for more than public_profile, email and user_friends must be reviewed by Facebook before they can be made available to the general public."

我真的需要为我所谓的应用申请审核吗,这只是一个 python 脚本,以便下载我自己的照片,还是我在这里遗漏了什么

【问题讨论】:

developers.facebook.com/docs/apps/faq#faq_180362122361921 谢谢;这比最初的发布要重要得多。它超出了我要删除的答案的重点。 @CBroe 我在我的应用程序中被列为管理员,所以我应该拥有完全访问权限? 我正在使用为我的测试应用生成的 user_token 该令牌是否包含 user_photos 权限?调试它来验证。 【参考方案1】:

我使用我的 Facebook 帐户创建了一个开发者帐户。我创建了一个测试应用程序,我是该应用程序的管理员。我正在使用我认为作为管理员的 user_token,我可以访问各种权限,但它没有 photo_permission,只有 public_profile 和 user_friends。

permission = graph.get_permissions(user_id = user_id)
permission
'public_profile', 'user_friends'

我花了一些弯路才弄清楚如何在没有应用审查的情况下获得 user_photo 的权限,正如之前有人建议的那样,它可能涉及以我自己的身份登录,这并没有带我去任何地方。然后我偶然发现了Graph API explorer,它可以让我生成一个具有您需要的任何权限的访问令牌。你只需要检查这些框! 现在当我使用这个新令牌获得照片许可时

permission = graph.get_permissions(user_id = user_id)
permission
'public_profile', 'user_friends', 'user_photos'

而且照片不再是空字典

len(photos['data'])
25

【讨论】:

以上是关于Python Facebook SDK 获取我自己的照片的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Graph API/SDK .NET - 获取 Facebook 用户的 PageID

如何在 ubuntu 中为 python 安装 facebook-sdk?

Facebook SDK FBLoginView 获取 EXC_BAD_ACCESS

如何从 Facebook 登录 sdk 中删除 ProgressBar

如何解决 facebook 在 python 中获取访问令牌错误?

我正在尝试使用 facebook SDK 获取 Facebook 帖子