0

API から Twitter JSON データを取得する PHP コードがあります。ユーザー画像、スクリーン名、いいえなど、いくつかのものを取得しています。フォロワー数と数 ツイートの。

そしておそらく、後で他のプロファイル用にさらに多くのデータを取得できます!

PHPコードは次のとおりです。

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            $data[0]['profile_image_url'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['screen_name'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['followers_count'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['statuses_count'];
            ?>

それはすべてうまくいっていましたが、もううまくいきませんでした。これは、レート制限/キャッシュがないことが原因であると想定しています。

私はこれらすべてに慣れていないので、キャッシュをセットアップして、数時間ごとに最新のデータを要求する方法/基本的に、データがいっぱいにならず、何も表示されないようにする方法 >.<

どんな助けにも本当に感謝します!!

4

2 に答える 2

0

いいえ$data[0]['profile_image_url']

置くだけ$data['profile_image_url']

于 2012-10-14T18:25:39.073 に答える
0

レート制限が原因である可能性があります。

Twitter は、認証されていない呼び出し (OAuth を使用して認証されていない API に対して行われた呼び出し) にレート制限を適用します。

「認証されていない呼び出しは、1 時間あたり 150 の要求が許可されています。認証されていない呼び出しは、要求を行っているサーバーまたはデバイスの公開 IP に対して測定されます。」

共有ホスティングを使用している場合、ホスト上で同じ IP を使用している他の誰かが Twitter API をクエリしている可能性があるため、レート制限を受ける可能性が高くなります (したがって、その IP の時間制限にカウントされます)。

これらの制限の詳細については、Twitter の Rate Limiting 制限 Web サイトおよびRate Limiting FAQ Web サイトを参照してください。

于 2012-10-14T01:15:37.313 に答える