使用 PHP 和 graph api 照片显示来自 facebook 的图像

发布于 2024-10-18 15:26:16 字数 2208 浏览 2 评论 0原文

我正在尝试显示我的 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 />";
}

I am trying to show my thumbnails of photos from my facebook fan page. I have studied the facebook dev and graph api. Now I am trying to using php to automate the process and show the images on my photo page.

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

which returns the following data with the image data repeating for each image (see below):

{
   "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"
      },

My questions is... Is there an easy way to put the following info in an array that will be easy to loop through?

Something like so that it loops through the data and puts the value of picture in the image src.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧人 2024-10-25 15:26:17

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

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

$dataArr = json_decode($dataStr,true);

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

Why don't you try json_decode of the json data ?

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

$dataArr = json_decode($dataStr,true);

$imageArr = $dataArr["images"];

待天淡蓝洁白时 2024-10-25 15:26:17

这似乎对我有用

$dataArr = json_decode($facebook_album,true);
foreach($dataArr['data'] as $d){    
    echo "<img src=\"".$d['source']."\"><br>";
}

This seemed to work for me

$dataArr = json_decode($facebook_album,true);
foreach($dataArr['data'] as $d){    
    echo "<img src=\"".$d['source']."\"><br>";
}
嘿嘿嘿 2024-10-25 15:26:17

使用以下代码(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>";
                }

Use following code (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");

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

Start showing photos one by one

foreach($photos['data'] as $photo){
                    echo "<p><img src='";
                    echo $photo['images'][0]['source'];
                    echo "'/></p>";
                }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文