【问题标题】:Get all tweets and re tweets from Twitter API从 Twitter API 获取所有推文和重新推文
【发布时间】:2023-03-31 11:30:01
【问题描述】:

我正在使用 Twitter API,但遇到了一个问题。我的问题是我无法从 Twitter 获得所有推文和转推作为回应。我已经阅读了 twitter link 上的文档。他们提到了This method can only return up to 3,200 of a user’s most recent Tweets. Native retweets of other statuses by the user is included in this total, regardless of whether include_rts is set to false when requesting this resource.

但是当我点击 https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=xxxxx&count=968 时,我只收到 198 条响应记录,而我有 968 条推文。

所以请帮助我了解如何从 Twitter 获取所有记录作为响应,以及我必须在 URL 中传递哪些参数才能获取所有推文和转推?

请建议我更好的方法。

【问题讨论】:

    标签: php twitter


    【解决方案1】:

    count - optional
    指定要尝试和检索的推文数量,最多 每个不同的请求最多 200 个。 count 的值最好 被认为是对返回推文数量的限制,因为 暂停或删除的内容在计数完成后被删除 应用。我们在计数中包括转推,即使 include_rts 不是 提供。建议您在使用时始终发送 include_rts=1 这个 API 方法。

    通过 twitter api,您可以在一个请求中获得 200 条推文。您必须发出另一个请求才能获得下一组推文。你得到 198,因为转发也算作推文。

    The max_id parameter

    上述问题的解决方案是使用一种称为游标的技术来处理数据流。 而不是读取相对于列表顶部的时间线(其中 经常变化),应用程序应该读取时间线相关 到它已经处理的推文的 ID。这是实现的 通过使用 max_id 请求参数。

    要正确使用 max_id,应用程序对时间线的第一个请求 端点应该只指定一个计数。当处理这个和 后续响应,跟踪收到的最低 ID。这个身份证 应该作为 max_id 参数的值传递给下一个 请求,它只会返回 ID 小于或等于的推文 max_id 参数的值。

    【讨论】:

    • 感谢您的建议,我首先在单个请求中获取了前 200 条推文,然后我再次发出请求并在 since_id 参数中传递最后一个数组的推文 ID。但是我在输出中得到了相同的结果。这是我的网址https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=xxxxx&since_id=here-last-tweet-id,请帮助我在哪里做错了,获取下一条推文的确切参数是什么?
    • 我已经更新了答案。 since_id 仅返回从该 id 开始的推文,这就是为什么您再次获得相同结果的原因。不知何故,您将不得不计算前 200 个 id。所以我们可以使用max_id 来代替它。如果这对你有帮助,点个赞就好了
    • 感谢您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2015-08-27
    • 2016-06-21
    • 2022-12-22
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    相关资源
    最近更新 更多