图形 API 嵌套请求响应

Graph API Nested Request Response

本文关键字:响应 请求 嵌套 API 图形      更新时间:2023-09-26

我整天都在努力寻找解决方案,但我做不到,所以你是我最后的希望!我将FB.api用于嵌套请求,并且已经得到了响应(已检查的控制台.log并且响应正常)。问题是,当我尝试访问响应的数据时,我会收到未定义的错误,例如响应为空。函数。当我试图获得例如响应长度时,我什么也没得到。有什么想法吗?这是我从控制台收到的错误.log未捕获的类型错误:无法读取未定义的属性"长度"

FB.api(
  '/me',
  'GET',
  {"fields":"likes.limit(100) {link,picture}"},
  function(response) {
if (response == "undefined" || response == null || !response || response.error)
    {
        alert("error occured");
        return;
    }
    console.log(response);
  for (var l = response.data.length, i = 0; i < l; i++) {
}});

部分响应

 {
  "likes": {
    "data": [
      {
        "link": "https://www.facebook.com/G-Pappas-1881854208706899/",
        "picture": {
          "data": {
            "is_silhouette": false,
            "url": "https://scontent.xx.fbcdn.net/hprofile-xlp1/v/t1.0-1/p50x50/1909968_1936509979907988_8060180335068327040_n.jpg?oh=368e10a9ab58ad0f337647ec6187f204&oe=5723AD5D"
          }
        },
        "id": "1881854208706899"
      },
      {
        "link": "https://www.facebook.com/FOODMATES-112425739139239/",
        "picture": {
          "data": {
            "is_silhouette": false,
            "url": "https://scontent.xx.fbcdn.net/hprofile-xpt1/v/t1.0-1/p50x50/12565389_129926077389205_1734904915451564294_n.jpg?oh=e76b99b775f94a9291a8d3f97aaead06&oe=5727BF7C"
          }
        },
        "id": "112425739139239"
      },
      {
        "link": "https://www.facebook.com/ARKAS-The-Original-Page-352589524877216/",
        "picture": {
          "data": {
            "is_silhouette": false,
            "url": "https://scontent.xx.fbcdn.net/hprofile-xta1/v/t1.0-1/p50x50/1381313_352855468183955_671412865_n.jpg?oh=8bbdbfce5d0e34a1120ca9b3e3d1c22d&oe=576B0804"
          }
        },
        "id": "352589524877216"
      },

看起来您没有使用正确的点表示法作为响应。

数据数组嵌套在喜欢中。 因此,要访问数据,您需要:响应.喜欢.数据.长度.

因此,要使用它,请尝试以下操作:

  console.log(response);
  for (var l = response.likes.data.length, i = 0; i < l; i++) {
      response.likes.data[i]
  }

编辑 : 这是一个 jsfiddle 链接,其中包含正确的点表示法示例,并取出了信息: https://jsfiddle.net/b7r2qtre/