从FB.api()

时间:2016-01-26 15:09:25

标签: javascript facebook facebook-graph-api

我正在使用JavaScript创建一个Facebook应用程序。我希望使用Facebook Graph API访问用户的Facebook照片。我已经这样做了,但是现在我想访问返回的元素并过滤掉某些项目,即如果照片的名称包含某个单词,或者某个人在照片中被标记,我想输出这个元素。

但是,我正在努力访问数据。我尝试使用for循环迭代返回的数组,如下所示。

function check(){
 FB.api(
  '/me',
  'GET',
  {"fields":"photos.limit(100){name,album,created_time,place}"},
  function(response) {
      console.log(response);
      for (var i = 0; i < response.data.length ; i++) {
       //do checks here
      };
  }
);

我认为我的'response.data.length'出了问题,不过这就是Facebook提供的例子。

我认为您可以使用fql查询进行访问,但我知道它只在2016年8月之前使用,所以我们正在寻找更好的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

试试这个:

function check(){
 FB.api(
  '/me',
  'GET',
  {"fields":"photos.limit(100){name,album,created_time,place}"},
  function(response) {
      console.log(response.photos.data);
      for (var i = 0; i < response.photos.data.length ; i++) {
       //do checks here
      };
  }
);

毕竟,您是以字段形式访问照片,而不是作为端点。其他代码应该使用此API调用:

/me/photos?limit=100&fields=name,album,created_time,place