0
私はTwitter APIを使用していて、haventは最後の1時間だけからツイートを取得する方法を見つけましたか?Twitter API - 過去24時間または最後の時間からツイートを取得する
私は最後の24時間から、または最後の1時間からだけつぶやきを得る方法を理解できません。誰かが私を助けることができますか?
ここに私のスクリプトです。このスクリプトは、現在、ツイートをカウントしますが、通常の...
<?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' => "XXXXX",
'oauth_access_token_secret' => "YYYYY",
'consumer_key' => "XXXX",
'consumer_secret' => "YYYY"
);
$query = '%24synx';
$max_id = 0;
$tweets_count = 0;
while (true) {
// First API call
if ($max_id == 0) {
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = "?q=".$query."&count=100";
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$twitter_data = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), true);
// Repeated API call
} else {
// Collect older tweets
--$max_id;
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = "?q=".$query."&count=100&max_id=".$max_id."";
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$twitter_data = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), true);
}
$tweets = $twitter_data['statuses'];
print_r($tweets);
// Exit loop when no more tweets are returned
if (sizeof($tweets)==0) {
break;
}
// Count tweets
foreach($tweets as $tweet) {
++$tweets_count;
$max_id = $tweet['id'];
}
//Sleep 3 seconds after every API call, to not exceed API rate limit
sleep(3);
}
echo $tweets_count;
?>
ありがとうございました。どのようにそれを正しく行うには? Twitterの "created_at"日付形式はかなり変わっているようです:/ –
UTC時刻(グリニッジ標準時)です。したがって、現地時間に変換するか、現地時間をUTCに変換してください。奇妙なことは何ですか? – Jonas
うん、それは私の時間にそれを変換するための最良の方法は?どうもありがとう。 –