Twitter用户时间线JSON仅显示最新的推文,即使计数为5。

3
以下 PHP 代码过去一直有效,但今天早上突然出现了以下调用问题:
$get_tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_user_id . "&count=" . $tweets_to_display . "&include_rts=" . $include_rts . "&exclude_replies=" . $exclude_replies);

尽管我将计数设置为5并且有很多条推文,但返回了只有一个$get_tweets的结果! 我唯一能想到的原因是先前的推文是15天前发布的,但我想要的是最新的5条推文,而不是在X天内发布的最新的5条推文。
顺便说一下,该库可在https://github.com/andrewbiggart/latest-tweets-php-o-auth/找到。 编辑:
$include_rts = false

$exclude_replies = false;
2个回答

2
Twitter user_timeline.json仅显示最新的推文,即使count=5
$get_tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=" . $twitter_user_id . "&count=" . $tweets_to_display . "&include_rts=" . $include_rts . "&exclude_replies=" . $exclude_replies);

这并不是 Twitter 的问题。是的,Twitter 会根据您指定的 count 返回推文,如果您没有指定,则会返回15条推文。
所以,为什么 Twitter 只返回了一条推文呢?
这是因为您在请求中使用了一些额外的参数,例如:
  1. include_rts
  2. exclude_replies
这将只返回少量推文。
由于您没有提供有关是否启用了 retweetsexcluded_replies 的信息,我无法明确指出您犯了什么错误。
但是,最有可能的原因是由于省略了转发或回复或两者都省略了而导致返回的推文很少。

include_rts和exclude_replies都被设置为false,更改它们没有任何结果。尽管如此,我仍然看不出改变它们的值如何影响计数的输出(我甚至将count = 100,但仍只得到1条推文!)。 - saimiris_devel
我很久以前就开始使用Twitter API了。我从未遇到过像你这样的情况。也许是你做错了什么。不要太在意那些没有结果的计数,因为它会花费太多时间,而你的默认设置下最大执行时间只有几秒钟。 - Yuva Raj

2

我的程序正确地返回了5条推文,但是我注意到有时只返回1条,但这可能是Twitter的问题。

可能是他们不时地独立限制推文的数量,而不考虑您的请求。在这种情况下,您应该忽略更新缓存,并使用它来替代返回的单个推文。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接