2012-07-23 85 views
1

从我的Facebook应用程序访问用户照片时遇到问题。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',“4313357 036026642251' , '4313357036026642252', '4313357036026642253', '4313357036026642254')

用户已经验证自己与我的应用程序,并接受了USER_PHOTO权限。

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

我已经证明了图上的资源管理器这个问题: https://developers.facebook.com/tools/explorer?method=GET&path=1004281695

任何人有任何想法,为什么已被授予访问用户的照片不能得到使用的应用程序访问令牌这些照片的应用程序?

由于提前,里斯

回答

0

因为除了极少数例外,您可以使用有效的访问令牌,该用户(或他们的朋友一个只能访问用户的数据,这取决于所讨论的对象的隐私)。

在这种情况下,使用用户的访问令牌,应用程序访问令牌代表应用程序进行操作,不应该用于用户特定的调用,因为它将无法查看非用户访问令牌,除了非常有限的情况下的公开信息

+0

感谢您的回复。但在这种情况下,用户a会将照片上传到应用程序(或将照片链接到应用程序)。用户b则需要查看用户a的上传。用户a和用户b不是朋友,但他们都接受了应用程序的User_photos权限,所以为什么不能看到用户a和用户b的照片? – 2012-07-23 11:27:25

+0

如果照片来自用户B的Facebook相册,用户B无法看到,为什么用户B能够通过应用程序看到它?如果照片存在于您自己的应用程序的上下文中,则需要将细节存储在您自己的数据库中 – Igy 2012-07-23 11:33:31

+0

好吧,也许我错过了一点 - 我认为通过给应用程序的照片访问权限意味着应用程序可以获取该用户的照片。因此使用该应用的其他人可以看到这些照片,因为该应用可以访问它们。我确实将照片的细节存储在我的数据库中,但是我从Facebook获取实际图像。 – 2012-07-23 11:45:02

相关问题