有沒有一種方法可以使用圖形API從Facebook中檢索公開相冊中的照片?是否有可能不提供訪問令牌?如果沒有,是否有可能在60天內沒有訪問令牌(似乎是默認的到期時間)。在網站中嵌入Facebook相冊
如果我在網站上嵌入Facebook相冊,我不想每60天重新授權或獲取一個新的訪問令牌並重新發布我的網站。
感謝
有沒有一種方法可以使用圖形API從Facebook中檢索公開相冊中的照片?是否有可能不提供訪問令牌?如果沒有,是否有可能在60天內沒有訪問令牌(似乎是默認的到期時間)。在網站中嵌入Facebook相冊
如果我在網站上嵌入Facebook相冊,我不想每60天重新授權或獲取一個新的訪問令牌並重新發布我的網站。
感謝
無論是公共還是私人,您都需要添加訪問令牌或不返回數據。
下面是示例代碼
$album_id = your album id;
$access_token = 'your token';
$url = "https://graph.facebook.com/{$album_id}/photos?access_token={$access_token}";
$image = json_decode(file_get_contents($url));
foreach($image->data as $img){
echo "<img src='{$img->images[6]->source}' /> ";
}
只要確保當你收集令牌,你需要有offline_access令牌bcoz沒有令牌即將到期,如果您有離線訪問過那麼你的令牌即使在60天內也不會過期。
好運
只要您的相冊,並在其中的照片是公開的,你不應該獲取OAuth令牌(至少目前)。
如果您在瀏覽到https://graph.facebook.com/ALBUM_ID/photos
時收到數據,其中ALBUM_ID是您相冊的ID,那麼您就會好起來的。
在腳本中,你可以做這樣的事情:
$fb_data = json_decode(file_get_contents('https://graph.facebook.com/ALBUM_ID/photos'));
foreach ($fb_data['images'] as $img) {
sprintf('<img src="%s" height="%d" width="%d" />', $img['source'], $img['height'], $img['width']);
}
如果該項目不公開,創建連接的應用程序,你可以使用PHP SDK令牌使用APP_ID和APP_SECRET作爲接入。
嗯,我到一個相冊餘切換爲公共的唯一的反應是:'對象(stdClass的)#1(1){[ 「數據」] =>數組(0){}} '也許我正在使用不正確的專輯ID?表單URL的專輯是什麼:https://www.facebook.com/media/set/?set=a.xxxxxxxxxxx.yyyyyy.zzzzz&type=3 – gregory
找到它的最簡單方法是使用[Graph API資源管理器(https://developers.facebook.com/tools/explorer)。在「GET」框中輸入相冊擁有者的用戶名或ID,然後在其末尾添加「/ albums」。這會給你所有的專輯和他們的ID列表。 – cpilko
從前端查看我的其中一張專輯,它看起來像您的網址方案中的「xxxxxxxxxxxxx」。但是,這不太可靠。並非所有對象都會返回可用於來自前端網址的API調用的ID。 – cpilko
不建議使用offline_access嗎? [源](https://developers.facebook.com/roadmap/offline-access-removal/) – gregory
只是檢查,發現你是對的@gregory –