如何获取"source"从JSON对象

How to get "source" from JSON object

本文关键字:quot source JSON 对象 何获取 获取      更新时间:2023-09-26

我试图建立一个自定义的Facebook页面feed到我的网站。当Facebook页面上的帖子只有图片时,效果很好,但当他们有视频时,我们就有问题了。我想要的是一个迷你版的视频,就像它本身是一个图像一样。然而,我是图形api的新手,因为我不知道如何抓取有视频的帖子的"源"元素。

JSON对象是这样的:

{
   "name": "Patrick Oliveira",
   "picture": {
      "data": {
         "is_silhouette": false,
         "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xft1/v/t1.0-1/c13.0.50.50/p50x50/11694800_709940652467661_5760283552162746065_n.jpg?oh=8ce289debf38df76b1a8ad72e9e32950&oe=5641D882&__gda__=1447414822_01484acd6dcdb29c62a7278a140bb592"
      }
   },
   "posts": {
      "data": [
         {
            "full_picture": "https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-xft1/v/t1.0-9/p417x417/11873451_734632043331855_4522184841179328970_n.jpg?oh=67bd84af22a94bc59a2996ff8fa0a8d8&oe=563F7BE8&__gda__=1447502842_a29144ab596e29d3d92d2239d376adc9",
            "message": "Lan'u00e7ado em fevereiro de 1990, o Photoshop completa 25 anos como o programa de edi'u00e7'u00e3o de imagens mais famoso do mundo. Parab'u00e9ns Adobe!",
            "created_time": "2015-08-14T20:52:08+0000",
            "id": "213578595437205_734632043331855"
         },
         {
            "full_picture": "https://scontent.xx.fbcdn.net/hphotos-xft1/v/t1.0-9/q81/s720x720/11415380_700706213391105_871834721491614634_n.jpg?oh=8672f7ae4931323baaf012e5f57a6079&oe=567F5D35",
            "message": "'"Agora eu sei de que 'u00e9 feito aquele ch'u00e3o'".'n-- cliente",
            "created_time": "2015-07-04T20:05:01+0000",
            "id": "213578595437205_700706213391105"
         },
         {
            "full_picture": "https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-xpt1/v/t1.0-9/s720x720/11406889_700700410058352_5592320885219405365_n.jpg?oh=acedee420f8e4944201c714e30f70627&oe=5679534C&__gda__=1451225194_477268223eedc2217b2ae1dcdd345399",
            "message": "Levante que hoje 'u00e9 Sexta!",
            "created_time": "2015-07-03T09:27:01+0000",
            "id": "213578595437205_700700410058352"
         },
         {
            "full_picture": "https://fbexternal-a.akamaihd.net/safe_image.php?d=AQBxQzu6zRD6fM_d&w=720&h=720&url=http'u00253A'u00252F'u00252Fi.ytimg.com'u00252Fvi'u00252F2K9eMZyD5jc'u00252Fmaxresdefault.jpg&cfs=1",
            "message": "Ferramenta poderosa pra quem trabalha com fotos de arquitetura, o Adaptive Wide Angle pode ser um poderoso aliado!'nhttps://www.youtube.com/watch?v=2K9eMZyD5jc",
            "created_time": "2015-07-02T18:25:01+0000",
            "source": "http://www.youtube.com/v/2K9eMZyD5jc?version=3&autohide=1&autoplay=1",
            "id": "213578595437205_700700186725041"
         },
         {
            "full_picture": "https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xft1/v/t1.0-9/s720x720/541646_700699430058450_5858057325981612930_n.jpg?oh=24a5d3e03cf1f782262e0b72d04831b4&oe=567999FA&__gda__=1451117341_93c352ddfa2804fa4047d84ab94978d9",
            "message": "Come'u00e7ando o m'u00eas de Julho com o p'u00e9...",
            "created_time": "2015-07-01T10:23:00+0000",
            "id": "213578595437205_700699430058450"
         }
      ],
      "paging": {
         "previous": "https://graph.facebook.com/v2.4/213578595437205/posts?limit=5&fields=full_picture,message,created_time,source&since=1439585528&access_token=1641569939420394|NyfBDunYwpFoZrtAoCSfqTV2-uU&__paging_token=enc_AdDQS8eEeKGQ3tvUJJxS1kyUXRwabHz2C1GZA0QZCufpZCHklYUI76WLCrigOB3IT1yxUtsCvx60ZA2haPnZA2Xoc2BOvPOLkM9eZBrbbrV1A87hVgIgZDZD&__previous=1",
         "next": "https://graph.facebook.com/v2.4/213578595437205/posts?limit=5&fields=full_picture,message,created_time,source&access_token=1641569939420394|NyfBDunYwpFoZrtAoCSfqTV2-uU&until=1435746180&__paging_token=enc_AdAVBcOniyc1nbopw3Gr3CkmZB1pUDYBmZBghDmQXLunZBbvcuO1xttx6vpnkZBskAawu1sdcfh6qZCrU3sZA5MzZAkRQMT2VALYxOkCJOQZCm38ebDd2wZDZD"
      }
   },
   "id": "213578595437205"
}

第四个帖子是一个视频帖子,所以我想如果我能抓取那里的视频源,也许我可以生成一个更小的视频源。

这是我一直在努力做的:

$.getJSON("https://graph.facebook.com/"+$page_id+"/?fields=name,picture,posts{full_picture,message,created_time}&access_token="+$access_token, function(fb) {
        fb.posts.data[3].source;
    });

然而,我从中得到的唯一东西是"未定义"。如果我做fb.posts.data[3].messagefb.posts.data[3].created_time或任何其他选项,它就会工作,只是对于它返回"未定义"的源。我做错了什么?

我发现哪里不对了,太蠢了。请求URL缺少源元素。这样就可以了:

$.getJSON("https://graph.facebook.com/"+$page_id+"/?fields=name,picture,posts{full_picture,message,created_time,source}&access_token="+$access_token, function(fb) {
        fb.posts.data[3].source;
    });
我为这个错误感到抱歉,这是我的错。