【发布时间】:2018-03-15 19:26:11
【问题描述】:
您好,我目前正在使用推特 API,但无法获取推文的 created_at 日期。返回的日期似乎是我请求 API 的日期,而不是发布推文的日期。
我能够得到这个日期,但如果它是我调用 API 的日期,它对我没有用处。 API 返回了 100 条推文,而且每个 created_at 日期都完全相同?
这是我写的代码:
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$content = $connection->get("account/verify_credentials");
$tweets = $connection->get("search/tweets", ["q" => "#TRIG", "result_type" => "recent", "count" => 100]);
print_r($tweets);
我正在使用这行代码来获取 created_at 日期:
$tweetCreatedTime = $tweets->statuses[0]->created_at;
这是我用来统计推文的所有代码:
$timeHourAgo = time() - 3600;
$count = 0;
$tweetCoinCount = [];
for ($i=0; $i < round((count($coinSymbol) * 0.06)); $i++) {
$tweets = $connection->get("search/tweets", ["q" => "#" + $coinSymbol[$i], "result_type" => "recent", "count" => 100]);
$tweetsCount = count($tweets->statuses);
for ($t=0; $t < $tweetsCount; $t++) {
$tweetCreatedTime = $tweets->statuses[$t]->created_at;
$tweetCreatedTimestamp = strtotime($tweetCreatedTime);
if ($tweetCreatedTimestamp > $timeHourAgo) {
$count = $count + 1;
}
}
$tweetCoinCount[$coinSymbol[$i]] = $count;
$count = 0;
}
$coinSymbol 只是我使用另一个 API 提取的一串不同的货币
所有返回的推文都具有相同的 created_at 日期。
【问题讨论】:
-
我刚试过它和它返回的差异日期,只有第一个是
Wed Oct 04 11:24:19 +0000 2017,你能展示你是如何循环浏览推文的吗? -
您只获得
$tweetCreatedTime = $tweets->statuses[0]->created_at;的第一条推文的日期,您需要遍历所有推文以获取每条推文的日期。 -
我已经编辑了我的问题,向您展示我使用的循环
-
如果有更好的方法来计算推文,我也很想听听,因为我这样做的方式真的很慢
-
@LukeRayner 添加了答案