2017-06-17 83 views
0

我想單擊下載FB頁面相冊的所有圖片。我正在嘗試下面的代碼。用Facebook Graph API下載所有FB頁面相冊圖片

<?php 
$json = file_get_contents('https://graph.facebook.com/v2.3/1609936302636077/photos?access_token=MYTOKEN&pretty=1&limit=200'); 
$data = json_decode($json,true); 
foreach ($data['data'] as $page) { 
    echo $page[source]; 
    echo "<br>"; 
} 
?> 

我得到的圖像的URL,但FB把最大100個圖像URL的限制取一次,然後他們給尋呼URL,然後再取100張圖像。

我該如何執行此操作?我嘗試了循環,但我很弱。任何人都可以幫助我在這裏與代碼?

回答

0

您可以使用遞歸獲取下一頁。但是,如果頁面的頁面非常多。這段代碼會拋出一個段落消息超時。

$token ='your token'; 
$url = "https://graph.facebook.com/v2.3/1609936302636077/photos?access_token=$token&pretty=1&limit=200"; 
getApiData($url); 
function getApiData($url){ 
    $json = file_get_contents($url); 
    $data = json_decode($json,true); 
    echo count($data['data']).'<br>'; 
    if(isset($data['paging']) && isset($data['paging']['next'])){ 
    getApiData($data['paging']['next']); 
    } 
} 

與方法嘗試

  • 保存下一個URL到文本文件,並使用的cronjob讀取URL和運行代碼下載文件。
  • 使用Ajax
  • 使用圖書館schedule
相關問題