2

その上に垂直フォロワー数を持つ「フォロー」ボタンを作成しようとしています。Twitter が今日 1.0 API を廃止するまで、私はソリューションを使用していましたが、現在は Oauth ソリューションが必要です。私の質問は、これに最適で最も簡単なソリューションは何ですか (できれば JS)。

ここに古いソリューションがあります

$.getJSON("https://api.twitter.com/1/users/show.json?callback=?&screen_name=twitter",

function(data) { 
    $('.here').text(data);
});

そして、私が今得ているエラー

GET https://api.twitter.com/1/users/show.json?callback=jQuery20205200183007400483_1371012819892&screen_name=twitter&_=1371012819893 410 (Gone) 
4

3 に答える 3

11

私はこのステップに従います.そして、Twitterのフォロワー数を取得します

このコードを使用してください

$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
$getfield = '?screen_name=Android';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$follow_count=$twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();
            $testCount = json_decode($follow_count, true);
echo "<pre>";
echo $testCount[0]['user']['followers_count'];
echo "</pre>";

「screen_name」を変更して、フォロワー数を取得できます。

乾杯。

于 2013-06-14T06:30:32.480 に答える
2

まず、公式情報によると:

クライアント側の Javascript を介して OAuth 操作を実行することはお勧めできません。これらのリクエストはサーバー側で実行する必要があります。ユーザー インタラクションをよりクライアント側にしたい場合は、ツイート プロセスを開始するために、おそらく AJAX 呼び出しを独自のバックエンドに対して安全なものにする必要があります。

AJAX を介して新しい 1.1 API へのクライアント側の要求を実行する簡単な方法はありません。このトランザクションを実行するには、などのサーバー側言語を使用する必要があります。


410 (Gone)API から応答コードを取得しています。これが実際に何を意味するか見てみましょう。

要求されたリソースが利用できなくなり、再び利用できないことを示します。これは、リソースが意図的に削除され、リソースをパージする必要がある場合に使用する必要があります。410 ステータス コードを受信すると、クライアントは今後リソースを再度リクエストしてはなりません【自分らしさを強調】

それでは、最新の twitter API ニュースを見てみましょう。

ここに画像の説明を入力

昨日 (2013 年 6 月 11 日) の時点で、以前に廃止された v1.0 API は廃止されました。これは、リソースが再び利用できなくなり、v1.1 API に進む必要があることを意味します。

v1.1 API では、通常は OAuth または「アプリケーション固有」を使用して、認証済みのリクエストが必要です。

理由はわかりませんが、最も役立つ回答をコメントとして既に投稿していますが、これは、twitter API の v1.1 への移行を支援するために作成した単純なライブラリです。

あなたの反応:GET https://api.twitter.com/1/[Emphasis my own]URL に API バージョンが含まれています。

最後に、/ 1.1 / の代わりに/1/を含む Twitter の URLは、リクエストを受け付けなくなり、常に応答が返されます。1.1 に移行する時が来ました!410 (Gone)

于 2013-06-12T08:47:13.420 に答える
2

Twitter は、フォロワー数の取得などの単純な読み取り専用操作に認証を必要としない API の提供を停止したため、それらは廃棄するに値します。

YQLを使用してユーザーの Twitter ページを取得し、フォロワー数を解析します。これは、同じオリジンの制限なしで、クライアントだけでも機能します。

function getFollowerCount(username, callback) {
  $.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D'http%3A%2F%2Ftwitter.com%2F" + username + "'%20and%20xpath%3D'%2F%2Finput%5B%40id%3D%22init-data%22%5D'&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys", function (data) {
    callback(data.query.results.input.value.match(/followers_count":(\d+)/)[1]);
  });
}

getFollowerCount('dandv', function (count) {
  $('#follower-count').text(count)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="follower-count">

もちろん、これはややもろく、Twitter が同じマークアップを維持することに依存していinputます</html>

于 2015-03-21T05:51:37.710 に答える