3

我正在尝试从我的 facebook 粉丝页面显示我的照片缩略图。我研究了 facebook dev 和 graph api。现在我正在尝试使用 php 来自动化该过程并在我的照片页面上显示图像。

$facebook_album = file_get_contents("https://graph.facebook.com/10150101465621686/photos");

它返回以下数据,并为每个图像重复图像数据(见下文):

{
   "data": [
      {
         "id": "10150101465701686",
         "from": {
            "name": "Lingua Language Academy",
            "category": "Organization",
            "id": "55206251685"
         },
         "picture": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_s.jpg",
         "source": "http://a4.sphotos.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_n.jpg",
         "height": 540,
         "width": 720,
         "images": [
            {
               "height": 540,
               "width": 720,
               "source": "http://a4.sphotos.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_n.jpg"
            },
            {
               "height": 135,
               "width": 180,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_a.jpg"
            },
            {
               "height": 97,
               "width": 130,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_s.jpg"
            },
            {
               "height": 56,
               "width": 75,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_t.jpg"
            }
         ],
         "link": "http://www.facebook.com/photo.php?pid=6497497&id=55206251685",
         "icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yz/r/StEh3RhPvjk.gif",
         "created_time": "2011-02-22T02:41:02+0000",
         "position": 1,
         "updated_time": "2011-02-22T02:41:04+0000"
      },

我的问题是......有没有一种简单的方法可以将以下信息放入一个易于循环的数组中?

像这样它循环数据并将图片的值放在图像src中。

foreach( $facebook_album as $key => $value){
    echo "<img src='picture'/><br />";
}
4

3 回答 3

4

你为什么不尝试 json_decode 的 json 数据?

http://php.net/manual/en/function.json-decode.php

$dataArr = json_decode($dataStr,true);

$imageArr = $dataArr["图像"];

于 2011-02-22T05:47:04.710 回答
1

这似乎对我有用

$dataArr = json_decode($facebook_album,true);
foreach($dataArr['data'] as $d){    
    echo "<img src=\"".$d['source']."\"><br>";
}
于 2012-08-09T07:53:47.517 回答
0

使用以下代码(php sdk)

if($user_id){
            // We have a user ID, so probably a logged in user.
            // If not, we'll get an exception, which we handle below.
            try{
                $user_profile = $facebook->api('/me','GET');
                $photos = $facebook->api("/me/photos");

......
...
..
}

开始一张一张地展示照片

foreach($photos['data'] as $photo){
                    echo "<p><img src='";
                    echo $photo['images'][0]['source'];
                    echo "'/></p>";
                }
于 2014-05-19T17:44:53.060 回答