如何检索不同用户的Facebook照片,这可能吗?

时间:2016-03-09 10:26:06

标签: facebook-graph-api

我正在尝试检索与记录的用户不同的用户照片,这是我做的:

  1. 我有2个不同的用户授予我的应用程序“user_photos”权限
  2. 我可以通过API检索USER_1上传的照片

    https://graph.facebook.com/v2.5/me/photos/uploaded?access_token=USER_1_TOKEN

  3. 假设我对ID为PHOTO_ID_123(隐私公众)的照片感兴趣,我希望USER_2能够查看该照片。我应该调用以下API:

    https://graph.facebook.com/v2.5/PHOTO_ID_123?access_token=USER_2_TOKEN

  4. (注意后一次调用中的不同令牌用户)

    问题是,现在我从FB收到以下错误:

    {
      "error": {
        "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
        "type": "GraphMethodException",
        "code": 100,
        "fbtrace_id": "GmYciGz/Mpd"
      }
    }
    

    这两个用户是Facebook上的共同朋友,但由于照片是公开的,我希望即使两个用户不是共同朋友也可以访问。 当然是以下API调用

    https://graph.facebook.com/v2.5/PHOTO_ID_123?access_token=USER_1_TOKEN
    

    按预期工作(它确实返回照片相关数据)。如果USER_2尝试从浏览器(在Facebook网站内)访问PHOTO_ID_123,他可以看到照片。

    我错过了什么?这甚至可能吗?对我来说,似乎可以从fb doc:https://developers.facebook.com/docs/graph-api/reference/photo/

      

    权限

         

    任何有效的访问令牌都可以读取公共页面上的照片。页面访问   令牌可以读取该页面发布或发布的所有照片。一个用户   访问令牌可以读取您的应用程序代表创建的任何照片   那个用户。 如果所有者已授予用户的照片,则可以阅读该照片   user_photos或user_posts权限。用户访问令牌可以读取   如果用户已授予user_photos或用户标记的照片   user_posts权限。但是,在某些情况下,照片的所有者是   隐私设置可能不允许您的应用程序访问它。

    由于

1 个答案:

答案 0 :(得分:0)

如果我使用user_photos授权应用,我不希望任何其他应用用户能够看到我的照片 - 至少在没有我的照片许可的情况下。因此,不能使用另一个用户的令牌访问一个用户的照片是有意义的。

如果您希望这样做,您可以让用户选择一些照片并将其存储在您的服务器上。仅仅因为facebook.com上公开的内容并不意味着您可以使用API​​获取它,这会使许多权限变得毫无意义。