Facebook graph api 我如何从用户那里获得带有图像的facebook相册

Facebook graph api 我如何从用户那里获得带有图像的facebook相册,facebook-graph-api,facebook-fql,fql.multiquery,Facebook Graph Api,Facebook Fql,Fql.multiquery,我正在创建一个facebook应用程序,我想用封面图片显示用户的相册,我尝试了代码1,但速度真的很慢,因为我在foreach中调用facebook api,这会让我的应用程序花费很长时间,所以我正在寻找另一种方法,只调用一次api并获取所有信息,因此,我尝试使用FQL multi-query code2,但现在我遇到了一个问题,因为如果相册没有图像,它将不会返回任何内容,因此请检查我的代码,如果您知道我如何做到这一点,我将不胜感激 code#1 $albums = $facebook->a

我正在创建一个facebook应用程序,我想用封面图片显示用户的相册,我尝试了代码1,但速度真的很慢,因为我在foreach中调用facebook api,这会让我的应用程序花费很长时间,所以我正在寻找另一种方法,只调用一次api并获取所有信息,因此,我尝试使用FQL multi-query code2,但现在我遇到了一个问题,因为如果相册没有图像,它将不会返回任何内容,因此请检查我的代码,如果您知道我如何做到这一点,我将不胜感激

code#1
$albums = $facebook->api('/me/albums?limit=0&fields=id,name,count,cover_photo');
foreach($albums['data'] as $album)
                {
                // get all photos for album
                $photos = $facebook->api("/{$album['id']}/?fields=picture,name,count");
                $foto = $photos['picture'];
                $nombre = $album['name'];

                $id = $album['id'];
                $count = $album['count'];
                $cover_photo = $album['cover_photo'];
                $nombre = $nombre." (".$count.")";


                echo "<li> <a href=\"album.php?numero_album=$id&nombre_album=$nombre \" title=\"$nombre\"><img src=\"https://graph.facebook.com/{$cover_photo}/\" alt=\"$nombre\" /> </a> </li>";
                }


code#2
$multiQuery = '{
  "albumes":"SELECT name,cover_pid,object_id,size FROM album WHERE owner=me()",
  "portadas":"SELECT src_big FROM photo WHERE pid IN (SELECT cover_pid FROM #albumes)"
        }';

        $param = array(       
     'method' => 'fql.multiquery',       
     'queries' => $multiQuery,       
     'callback' => '');       
        $queryresults = $facebook->api($param);

                foreach($queryresults[0]['fql_result_set'] as $album)
                {
                $nombre = $album['name'];
                $id = $album['object_id'];
                $count = $album['size'];
                $nombre = $nombre." (".$count.")";


                echo "<li> <a href=\"album.php?numero_album=$id&nombre_album=$nombre \" title=\"$nombre\"><img src=\"https://graph.facebook.com/{$cover_photo}/\" alt=\"$nombre\" /> </a> </li>";
                }
所以我尝试使用FQL多查询代码2,但现在我遇到了一个问题,因为如果相册没有图像,它将不会返回任何内容

我看不出你有什么问题。如果我使用Graph API资源管理器尝试您的查询,它会提供我所有的相册,以及每个有相册的相册的封面照片。这是我的4张相册和3张照片

如果您很难分辨哪个照片来自哪个相册,那么在两个查询中都包含aid字段

这真的很慢,因为我在foreach中调用了facebook api,这让我的应用程序花了很长时间

当然是这样,因为每个API调用都意味着另一个HTTP请求,而且速度很慢


如果FQL方法不能满足您的需要,那么将您的API请求转换为–这样可以减少HTTP请求的数量,因此应该可以大大加快速度。

感谢您的回复!但是,我如何用相册的名称显示每个相册的图像呢?抱歉,如果这是一个非常愚蠢的问题,但我正在学习Facebook API@CBroe