2017-09-05 10 views
1

私はTwitter APIを使ってみましたが、過去24時間に特別なハッシュタグを含むツイートが数えられているのを数えたいと思っています。Twitter API - 過去24時間にハッシュタグでツイートを数えるには?

私は本当にそうする方法を見つけることができませんでしたか?それは100に制限されているようですか?

私のウェブサイトでいくつかの統計情報を設定するには、過去24時間につぶやき量を取得する必要があります。

現在のコード:

<?php 
ini_set('display_errors', 1); 
require_once('TwitterAPIClass/TwitterAPIExchange.php'); 

/** Set access tokens here - see: https://dev.twitter.com/apps/ **/ 
$settings = array(
    'oauth_access_token' => "XXXX", 
    'oauth_access_token_secret' => "YYYY", 
    'consumer_key' => "XXXX", 
    'consumer_secret' => "YYYY" 
);  

/** Perform a GET request and echo the response **/ 
/** Note: Set the GET field BEFORE calling buildOauth(); **/ 
$url = 'https://stream.twitter.com/1.1/statuses/filter.json'; 
$getfield = '?track=%23beer'; 
$requestMethod = 'GET'; 
$twitter = new TwitterAPIExchange($settings); 
$twitter_data = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), true); 

foreach($twitter_data['statuses'] as $tweets) { 
    echo $tweets['created_at'] . '<br>'; 

}    
?> 

答えて

0

これは完璧な答えではないかもしれないが、私はあなたの仮定が正しいと仮定しています。 TwitterのREST APIはすでにそのための指標となっています。 (私はあなたがストリームAPIを使用していることを知っていますが、私に説明させてください)。

Twitter APIはすべてAPI開発者自身が設定した一般的なルールに従っているため、Stream APIはREST APIと同じ規則に従っていると仮定しています。 GET search/tweetsのドキュメントには、返されたツイートの数が100に制限されている状態(パラメータ:count)が記載されています。ストリーミングとREST APIの間に明白な接続はなく、ドキュメントには記載されていませんが、それがあなたの配列に100要素しかない理由です。

可能であれば、一定の間隔でサーバーに要求を送信した後、個々のつぶやきをデータベース/テキストファイルなどに保存するスクリプトを実行できます。要求頻度の規制は15分に15回、または15分に180回に設定されているため、これが回避策になります。

+1

うーん..私はそれをループしようとすると思います。あなたのコメントをありがとう! :) –

関連する問題