1

在我的应用程序中,我需要获取所有用户的 FB 内容(状态更新、图片、视频)。在获取墙/时间线帖子时,我提出以下要求:

  1. 饲料:http ://graph.facebook.com/me/feed?access_token= ...
  2. 帖子:http ://graph.facebook.com/me/posts?access_token= ...
  3. 状态:http ://graph.facebook.com/me/statuses?access_token= ...
  • 我得到了当前用户的所有 3 种类型的元素(状态更新、图片、视频)。

获取照片时,我首先提出相册请求:

http://graph.facebook.com/me/albums?access_token= ...

然后对于每张专辑,我都会得到里面的照片。

一些相册(如“墙照片”或“手机照片”)包含我在提出墙/时间线请求后已经拥有的照片,因此我不再需要它们。我想跳过那些专辑,到目前为止我一直在使用一个简单的条件(在 PHP 中):

if ( !in_array($album->type, array('wall','mobile')) ) { ... }

但现在我看到可能还有其他相册包含已显示在墙上/时间轴上的照片 - 在本例中为“Instagram Pics”。问题是这张专辑的 type = normal 就像用户手动创建的专辑一样(这些是我需要处理的专辑)。当然,我可以添加如下条件:

... && ($album->name != 'Instagram Pics')

但如果专辑名称发生变化,这将不再是有效条件,我想避免它。另外,我意识到可能还有其他类型的相册包含墙上显示的图片,这会再次产生同样的问题。

另一个问题是这两个项目(保存在相册中的图片和贴在墙上的图片)具有不同的 ID,因此我无法通过这种方式识别双打。

我的问题是:如何识别包含也显示在墙上/时间轴上的图片的相册(= 在请求墙上帖子时会出现),以便在处理用户个人相册时可以跳过它们?谢谢你。

4

0 回答 0