1

我正在开发 Facebook Canvas 应用程序。应用程序的目的是访问用户的帐户,收集帖子并预览他们帖子是照片类型的。

它还允许同一用户查看其他用户的帖子。

如果用户正在查看其他用户的帖子,则某些帖子的预览是问号图片而不是帖子中的图像。如果用户直接打开帖子发布 Facebook 页面,则图片可见。

我正在使用 Graph API 从帖子中检索图片以进行预览。当前语法是

https://graph.facebook.com/<OBJECT_ID>/picture?type=normal&access_token=<ACCESS_TOKEN>

我尝试使用页面访问令牌以及长寿用户访问令牌。在这两种情况下,我都有问号图片。

我的问题是:

  1. 当用户授予图片权限时,为什么无法通过应用程序看到真实图像?
  2. 是否可以检测图像是否是问号图片?

编辑 我使用 OBJECT_ID,而不是发布 ID。预览适用于照片帖子。post中的object_id为图片id,可以在图片Graph API中使用。

编辑 2 只能使用 Graph API,仅此而已。

编辑 3 这些是用户请求的权限:“email”、“user_photos”、“manage_pages”、“read_stream”、“read_insights”、“user_hometown”、“user_location”、“user_birthday”。

4

1 回答 1

0

如果您想获取用户图片(或朋友),请获得所需的权限(user_photos 和friends_photos),请尝试 fql,在我看来它要好得多

https://developers.facebook.com/docs/reference/fql/

或图形 api & 不要忘记获得所需的权限

这是两个 fql 示例

SELECT src_big FROM photo WHERE aid IN ( SELECT aid FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349374365) ORDER BY created DESC

SELECT src_big FROM photo WHERE owner IN (SELECT uid2 FROM friend WHERE uid1= 100001785452297 ORDER BY rand() LIMIT 0,20 ) ORDER BY created DESC

最后我推荐你使用 facebook sdk 作为你的编程语言

于 2013-10-09T09:04:23.383 回答