2017-06-17 11 views
0

ワンクリックでFBページのアルバムのすべての画像をダウンロードしたいと思います。私は以下のコードを試しています。FB Facebookのすべての画像をFacebookのグラフAPIでダウンロード

<?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は、一度にフェッチし、その後、彼らはページングURLを与え、再び100枚の画像を取得し、最大100枚の画像のURLの制限を置きます。

どうすれば実装できますか?私はループで試したが、私は非常に弱いです。コードで私を助けてくれますか?

答えて

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を読んで、コードのダウンロードファイルを実行するcronジョブを使用するには、次のURL方法

  • で試してみてください。
  • 使用アヤックス
  • 使用ライブラリschedule
関連する問題