gpt4 book ai didi

java - Facebook 相册和照片无法通过所有需要的权限访问(GRAPH API)

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:00 25 4
gpt4 key购买 nike

在我的 android 应用程序中,我下载了用户指定 friend 的相册列表。

我已获得如下权限:friends_about_me、friends_photo_video_tags、friends_photos、user_photos。

对于一些 friend 来说,它工作得很好,我可以下载完整列表和所有照片。但对于某些人来说,它返回空数组。这是 friend 隐私政策的情况还是 FB 错误?

如果我尝试通过 FB 页面或通过 FB android 应用程序查看这个 friend 的相册,它工作正常。

编辑:我确实从 FB 页面的 URL 获取了用户相册 ID,并将其粘贴到 GRAPH API 资源管理器,但它向我返回了 false。

问题是:如何获取相册列表和相册照片?

最佳答案

隐私设置

(当前)在 Account > Privacy settings > Apps and Websites "Edit your settings" 下,用户可以通过一种方式设置您的应用可以通过他们的 friend 访问哪些信息,而不管他们的 friend 授予该应用什么权限。

Info accessible through your friends

如果您尝试查看其相册的人未选中“我的照片”,则他们必须直接授予该应用权限(如下所述)。默认情况下它是选中的,您的应用程序可以访问用户的照片。如果未选中该框,则如果他们不添加您的应用并授予您访问权限,您的应用就无法获取他们的照片。

随着changes正在推出 Facebook 的隐私设置,这些设置可能会被移动,但希望该功能仍然存在。

更新 8/30 - 我的 Facebook 帐户刚刚启用了上述更改。对话框是一样的,只是在不同的标签下:Account > Privacy Settings > Apps and Websites > How people bring your info to apps they use "Edit settings" .一些文本已更新,一些选项略有不同,但其他设置相同。

测试

像这样配置两个帐户:

帐户 1:

  1. 两个 friend 组,其中一个称为“受限”
  2. 相册(“个人资料照片”除外)设置为“仅限 friend ”;除了“受限组”可以看到它们。个人资料照片仅供 friend 使用。
  3. 在“可通过 friend 访问的信息”中取消选中“我的照片”
  4. 非常自由的应用权限(friends_about_me, friends_photo_video_tags, friends_photos, user_photos 等等)

帐户 2:

  1. 帐户 1 的 friend
  2. 授予应用相同的权限

通过在帐户 1 上切换隐私控制(选中/取消选中有问题的复选框、授予/撤销帐户 1 上应用程序的权限,以及将帐户 2 添加/删除到“受限”组)并尝试访问该帐户的照片相册,你会发现 My Photos帐户 1 中的复选框:

  • 选中
    • 任何带有 friends_photos 的应用帐户 2 使用的权限可以查看帐户 2 可见的任何照片
  • 未勾选
    • 帐户 1 的好友使用的应用无法访问任何照片,除非...
    • 除非帐户 1 已添加您的应用并授予 user_photos允许。在这种情况下,该应用可以访问帐户 2 可见的任何相册。

因此帐户 2 可以在未选中“我的照片”框的情况下访问帐户 1 的相册 (/<userid>/albums) 的唯一方法是帐户 2 在“受限”组中并且 帐户 1 已使用 user_photos 启用应用程序允许。当帐户 2 受到限制时,它唯一可以看到的相册(如预期的那样)是“个人资料图片”相册。当帐户 1 删除应用程序或启用它而不授予 user_photos权限,/albums连接返回一个空数组。

因此,虽然返回一个空数组看起来像是一个错误,但它实际上是完全确定的和预期的行为。最重要的是,从用户隐私的角度来看,Facebook 允许用户控制此设置是件好事。

那么你如何得到他们的照片呢?

你不知道。或者,你不应该,无论如何。如果他们花时间禁止通过他们的 friend 访问他们的照片,您应该尊重他们的隐私。

也就是说,技术上仍然可能作为他们的 friend 之一登录 facebook.com 并查看他们与 friend 共享的照片,但不能通过 friend 的应用程序查看。理论上你可以编写一个网络爬虫来自动执行这样的任务,尽管它是针对 facebooks 的 terms of service这样做你就是坏人:

[3.2] You will not collect users' content or information, or otherwise access Facebook, using automated means (such as harvesting bots, robots, spiders, or scrapers) without our permission.

关于java - Facebook 相册和照片无法通过所有需要的权限访问(GRAPH API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7133014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com