gpt4 book ai didi

api - 使用 Twitter 流 API,是否可以只显示来自特定用户的推文?

转载 作者:行者123 更新时间:2023-12-03 23:56:48 25 4
gpt4 key购买 nike

我目前正在使用 Twitter API 来检索某些用户发布的推文。为了这个问题,我们将使用@justinbieber 作为示例。

使用 https://stream.twitter.com/1.1/statuses/filter.json 时资源,将关注设置为所需的用户 ID (@justinbieber = 27260086),并允许它运行,虽然我只期望 @justinbieber 的推文,但我最终得到了他数百万粉丝发给他的推文。显然,这意味着我获得的信息比我想要的要多得多,而且根据我的发现,我有时最终会错过用户自己的推文!

我已尝试更改 https://dev.twitter.com/docs/streaming-apis/parameters 上的每个参数无济于事。

以下参数说明:

For each user specified, the stream will contain:

Tweets created by the user.
Tweets which are retweeted by the user.
Replies to any Tweet created by the user.
Retweets of any Tweet created by the user.
Manual replies, created without pressing a reply button (e.g. “@twitterapi I agree”).

因为它在文档中,我假设没有办法只获得该用户的推文而不必自己过滤结果(如前所述,这意味着我最终可能会错过用户自己的推文!),但我很想知道是否有人知道解决方法。

在有人建议使用诸如 statuses/user_timeline 之类的东西之前,我知道它能够做我想做的事,但是它有两个缺点让我一直使用流 API:
  • 每个请求都意味着我丢失了一个请求,并且由于 Twitter 的速率有限,我想避免这种情况。
  • 每个请求都有 HTTP 协议(protocol)的昂贵开销。太多时间花在谈判上。

  • 我想做的事可能吗? @justinbieber 只是高开销 Twitter 帐户的一个示例。我想使用此代码来检索许多高开销帐户的推文,因此需要速度以及查看每个用户的每条推文的能力。

    最佳答案

    使用 json_decode 后,可以使用以下 IF 语句来判断是什么类型的推文:

        // if it is a retweet        
    if (isset($data['retweeted_status']))
    {
    //TODO
    }

    // if it is a reply
    else if (isset($data['in_reply_to_status_id_str']))
    {
    //TODO
    }

    // if it is a mention
    else if (isset($data['in_reply_to_user_id_str']))
    {
    //TODO
    }

    // if it is an original tweet
    else
    {
    //TODO
    }

    关于api - 使用 Twitter 流 API,是否可以只显示来自特定用户的推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864390/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com