簡體   English   中英

Twitter API-獲取過去24小時或過去1小時的推文

[英]Twitter API - Get tweets from last 24 hours or last hour

我正在使用Twitter API,還沒有找到例如僅從最后一個小時獲取推文的方法?

我無法弄清楚如何僅從最近24小時或從最近1小時獲得推文。有人可以幫助我嗎?

這是我的劇本。 該腳本對當前但過去7天以來的推文進行正常計數...

<?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;      
?>

在這個循環中

foreach ($tweets as $tweet) {
    ++$tweets_count;
    $max_id = $tweet['id'];
}         

檢查tweet的日期/時間( $tweet['created_at'] )。 如果該值超過24小時,則退出外部while循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM