如何检索一个人标记的所有Facebook照片

如何检索一个人标记的所有Facebook照片,facebook,facebook-graph-api,pagination,facebook-fql,Facebook,Facebook Graph Api,Pagination,Facebook Fql,我知道您可以在graph.facebook.com/id/photos API调用中附加限制和偏移值,以便通过照片进行分页。但大范围限制似乎并不奏效,照片最终会丢失。我在这里读到,limit=0提供了所有照片,但同样,照片将丢失。那么,您可以可靠使用的最大限制是什么?高效检索所有照片的正确方法是什么 有关于限制限制的文档吗?以下是我使用Facebook API的经验 如果你设定了一个限制,你将得不到更多。然而,一个大的限制肯定会给你比你要求的少,尽管更多的存在。所有Facebook在响应API查

我知道您可以在graph.facebook.com/id/photos API调用中附加限制和偏移值,以便通过照片进行分页。但大范围限制似乎并不奏效,照片最终会丢失。我在这里读到,limit=0提供了所有照片,但同样,照片将丢失。那么,您可以可靠使用的最大限制是什么?高效检索所有照片的正确方法是什么


有关于限制限制的文档吗?

以下是我使用Facebook API的经验

如果你设定了一个限制,你将得不到更多。然而,一个大的限制肯定会给你比你要求的少,尽管更多的存在。所有Facebook在响应API查询时似乎都遵循“足够好”的原则。如果你要5000件物品,5-15秒后系统只能检索350件,那么这可能就是你要检索的全部物品。内容的大小似乎也有限制。因此,限制完全取决于您查询的内容类型,而不是固定数量。可以说
limit=5
,但只能得到4项(即使存在更多项)


limit=0
用于提供尽可能多的响应,但我不确定它是否仍然有效。您还可以使用
/
来更具体地说明要检索的项目。但无论如何,无法知道您是否得到了所有可能的响应。

我在应用程序中遇到了同样的问题。“我/照片”不能提供完整的数据。人们可以理解与照片相关的权限,但“我/照片”最终甚至不会返回具有“公共”权限的照片

我们通过以下方法解决了这个问题。现在,我们的应用程序返回所有带标签的照片,除了那些具有限制性权限的照片

首先,我们确实找到了使用FQL标记用户的照片ID列表。这可以通过以下方式实现



上面的API将提供用户处于活动状态的照片的ID。现在,一旦ID可用,就可以按如下方式获取照片的详细信息




上述过程涉及到对Facebook的大量请求,但到目前为止,这是我们找到的获取所有可能标记照片的唯一方法。

用户标记的照片归其朋友所有,因此,我认为朋友的照片可能不会显示。如果我使用限制/偏移分页机制一次只检索25张照片,则会检索到这些照片。有时,我不会使用大限制或限制=0检索这些照片。对我来说,这听起来像是一个大问题……而且更好地报告这种方法是否可行。为了使许多查询更加高效,您还可以使用FB的批处理查询机制。我将非常感谢。你能告诉我如何使用批量查询机制来提高效率吗?我从。我们的应用程序是基于Rails构建的,我们使用考拉gem来处理FBAPI请求,它具有内置的。希望这能让你开始。嗨,Wolfram,谢谢你的帮助,我能够使用批处理请求。我使用的是javascript SDK。批处理请求文档不太清楚如何使用JSSDK发出实际请求。但在谷歌搜索了很多次之后,我发现了这一点。现在我的代码效率更高了。很高兴你明白了。我还没有试过Javascript SDK。也许你可以在这里发布你的发现?
FB.api({
"method": 'fql.query',
"query": 'select object_id from photo_tag where subject=me()'
}
,function(resp)
{

}
FB.api({
"method": 'fql.query',
"query": 'select object_id from photo_tag where subject=me()'
}
,function(resp)
{
   var photoId = resp.object_id;
   FB.api("/" + photoId, function(data){////DO THE PROCESSING/////////////});
}