【问题标题】:Python Facebook SDK get my own photosPython Facebook SDK 获取我自己的照片
【发布时间】: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 脚本,以便下载我自己的照片,还是我在这里遗漏了什么

【问题讨论】:

  • 谢谢;这比最初的发布要重要得多。它超出了我要删除的答案的重点。
  • @CBroe 我在我的应用程序中被列为管理员,所以我应该拥有完全访问权限?
  • 我正在使用为我的测试应用生成的 user_token
  • 该令牌是否包含 user_photos 权限?调试它来验证。

标签: python facebook facebook-graph-api


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多