1

見つけた PHP スクリプトがあり、ブログ スレッドからコメントを取得するために使用しようとしています。すべてあるようですが、正しく動作しない理由がわかりません。このエラーが発生し続けます

Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/AP-Get.php on line 33

スクリプトは次のとおりです。

<?php
    ini_set('display_errors', 'on');
    $key="KEY-OMITTED";
    $forum="amandapalmer";
    $thread = '1009158814';
    $limit = '100';

$endpoint = 'http://disqus.com/api/3.0/threads/listPosts.json?api_key='.urlencode($key).'&forum='.$forum.'&limit='.$limit.'&cursor='.$cursor;

$j=0;
listcomments($endpoint,$cursor,$j);

function listcomments($endpoint,$cursor,$j) {

// Standard CURL
$session = curl_init($endpoint.$cursor);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($session);
curl_close($session);

// Decode JSON data
$results = json_decode($data);
if ($results === NULL) die('Error parsing json');

// Comment response
$comments = $results->response;

// Cursor for pagination
$cursor = $results->cursor;

$i=0;
foreach ($comments as $comment) {
    $name = $comment->author->name;
    $comment = $comment->message;
    $created = $comment->createdAt;
    // Get more data...

    echo "<p>".$name." wrote:<br/>";
    echo $comment."<br/>";
    echo $created."</p>";
    $i++;
}

// cursor through until today
if ($i == 100) {
    $cursor = $cursor->next;
    $i = 0;
    listcomments($endpoint,$cursor);
    /* uncomment to only run $j number of iterations
    $j++;
    if ($j < 10) {
        listcomments($endpoint,$cursor,$j);
    }*/
}
}

?>

多分それは私の API キーだと思いましたが、Disqus の他のより基本的なスクリプトで数回確認したところ、それらのスクリプトで問題なく動作しました。

4

1 に答える 1