我正在尝试检索与记录的用户不同的用户照片,这是我做的:
我可以通过API检索USER_1上传的照片
https://graph.facebook.com/v2.5/me/photos/uploaded?access_token=USER_1_TOKEN
假设我对ID为PHOTO_ID_123(隐私公众)的照片感兴趣,我希望USER_2能够查看该照片。我应该调用以下API:
https://graph.facebook.com/v2.5/PHOTO_ID_123?access_token=USER_2_TOKEN
(注意后一次调用中的不同令牌用户)
问题是,现在我从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权限。但是,在某些情况下,照片的所有者是 隐私设置可能不允许您的应用程序访问它。
由于
答案 0 :(得分:0)
如果我使用user_photos
授权应用,我不希望任何其他应用用户能够看到我的照片 - 至少在没有我的照片许可的情况下。因此,不能使用另一个用户的令牌访问一个用户的照片是有意义的。
如果您希望这样做,您可以让用户选择一些照片并将其存储在您的服务器上。仅仅因为facebook.com上公开的内容并不意味着您可以使用API获取它,这会使许多权限变得毫无意义。