簡體   English   中英

從Facebook相冊中獲取所有照片(PHP API)

[英]Get ALL photos from a facebook album (PHP API)

我的源代碼有問題。 自8/9個月以來,我一直沒有使用過,現在,它不再起作用了。

我希望列出我所有相冊中的所有照片,但現在只列出每個相冊中的25張照片,而不再列出更多。 我每張相冊有100/200/250張照片(聚會拍攝),我想將它們列出到我自己的網站中(以使用Facebook帶寬)

這是我的源代碼:

<?php 
    ob_start();
    session_start();
    include_once('facebook.php');
?>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Albums</title>
</head>
<body>
<?php

$params = array(
    'appId' => APP_ID,
    'secret' => APP_SECRET,
);
$facebook = new Facebook($params);
$user = $facebook->getUser();
$log = null;

if ($user) {
    $log = $facebook->getLogoutUrl();
} else {
    $log = $facebook->getLoginUrl(array('scope' => 'user_photos'));
}
echo '<a href="'.$log.'">' . (($user) ? 'logout' : 'login') . '</a>';
    if ($user) {
        $data = $facebook->api(
            '/me/albums',
            'GET',
            array(
                'fields' => 'id,name,privacy,photos.fields(id,name,images)',
                'limit' => '300'
            )
        );

        foreach ($data['data'] as $album) {
            echo '<div>';
                echo '<h3>' . $album['name'] . ' ' . $album['privacy'] . '</h3>';
                echo '<textarea style="width: 800px; height: 500px;">';
                    foreach ($album['photos']['data'] as $photo) {
                                echo $photo['images'][0]['source'].'';
                    }
                echo '</textarea>';

                echo '<textarea style="width: 800px; height: 500px;">';
                    foreach ($album['photos']['data'] as $photo) {
                               echo $photo['images'][7]['source'].'';
                    }
                echo '</textarea>';
            echo '</div>';
            //break;
        }
    }

    ?>
</body>
</html>
<?php ob_flush(); ?>

因此,如果您正在測試此代碼,則會看到該代碼向您列出了所有相冊,但不是所有圖片,因此停止顯示為25。

看起來您在錯誤的位置使用了限制。 嘗試-

$data = $facebook->api(
           '/me/albums',
           'GET',
           array(
               'fields' => 'id,name,privacy,photos.fields(id,name,images).limit(300)',
               'limit' => '50'
           )
       );

在這種情況下,FB會將您的相冊限制為50張,將相冊中的照片限制為300張。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM