【问题标题】:Facebook Access to users photos using my app tokenFacebook 使用我的应用令牌访问用户照片
【发布时间】:2012-07-21 14:37:11
【问题描述】:

从我的 Facebook 应用访问用户照片时遇到问题。

我在运行时请求应用程序令牌:(将 [] 括号中的值替换为实际值。

https://graph.facebook.com/oauth/access_token?client_id=[clientid]&client_secret=[clientsecret]&grant_type=client_credentials

然后我尝试使用该访问令牌访问用户照片,即:

https://graph.facebook.com/fql?q=SELECT PID,src_big,src_small FROM相片其中PID IN( '4313357036026642248', '4313357036026642249', '4313357036026642250', '4313357036026642251', '4313357036026642252', '4313357036026642253', '4313357036026642254') P>

用户已通过我的应用进行身份验证并接受了 USER_PHOTO 权限。

但是我得到了 0 个结果。当我使用该用户访问令牌而不是应用令牌时,我确实得到了结果。

我已经在图形浏览器上证明了这个问题: https://developers.facebook.com/tools/explorer?method=GET&path=1004281695

有人知道为什么已被授予访问用户照片的应用程序无法使用应用程序访问令牌获取这些照片吗?

提前致谢,里斯

【问题讨论】:

    标签: facebook-graph-api photo user-permissions


    【解决方案1】:

    因为除了极少数例外,您只能使用该用户(或他们的一位朋友,具体取决于相关对象的隐私)的有效访问令牌来访问该用户的数据。

    在这种情况下,请使用用户的访问令牌,应用访问令牌用于代表应用执行操作,不应真正用于特定于用户的调用,因为它无法看到非公开的除非在非常有限的情况下提供信息

    【讨论】:

    • 感谢您的回复。但是在这种情况下,用户 a 会将照片上传到应用程序(或者更确切地说,将照片链接到应用程序)。然后用户 b 需要查看用户 a 的上传。用户 a 和用户 b 不是朋友,但他们都接受了应用程序的 User_photos 权限,为什么应用程序不能同时看到用户 a 和用户 b 的照片?
    • 如果照片来自用户 A 的 Facebook 相册,用户 B 看不到,为什么用户 B 可以通过应用看到?如果照片存在于您自己的应用程序的上下文中,您需要将详细信息存储在您自己的数据库中
    • 好吧,也许我没有抓住重点——我认为通过授予应用程序的照片访问权限意味着该应用程序可以获得该用户的照片。因此使用该应用程序的其他人可以看到这些照片,因为该应用程序可以访问它们。我确实将照片的详细信息存储在我的数据库中,但我从 facebook 获取实际图像。
    • 我认为在您的情况下,您需要存储直接照片 URL 以便向其他用户展示它们,但如果该其他用户通常无法访问 Facebook 上的照片这样做本身可能违反政策
    • 好的,感谢您的回答,该应用程序的早期版本确实将网址存储到照片中。然而FB经常改变这些。底线是用户 b 只有在公共相册中才能看到用户 a 的照片。再次感谢。里斯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2012-02-19
    相关资源
    最近更新 更多