twitter流API跟踪在twitter应用程序中注册的用户发布的所有推文

twitter流API跟踪在twitter应用程序中注册的用户发布的所有推文,api,twitter,Api,Twitter,我正在创建一个应用程序,该应用程序需要跟踪注册到我的应用程序的用户的所有推文,我尝试跟踪那些使用流式API的推文,有公共API、用户API和站点API 在这些API中,它只有一个选项,可以通过添加逗号分隔的用户ID来跟随用户ID 但是我觉得这是不灵活的,如果有一个新用户注册了,我需要重建HTTP请求,而且如果有那么多用户尝试监听这个流,查询会很长, 会的 , 我担心查询不适合,我只需要一个参数来过滤所有在我的应用程序中注册的用户,例如。 但我认为twitterdev并没有提供它 那么,有没有办法

我正在创建一个应用程序,该应用程序需要跟踪注册到我的应用程序的用户的所有推文,我尝试跟踪那些使用流式API的推文,有公共API、用户API和站点API

在这些API中,它只有一个选项,可以通过添加逗号分隔的用户ID来跟随用户ID 但是我觉得这是不灵活的,如果有一个新用户注册了,我需要重建HTTP请求,而且如果有那么多用户尝试监听这个流,查询会很长, 会的

,

我担心查询不适合,我只需要一个参数来过滤所有在我的应用程序中注册的用户,例如。 但我认为twitterdev并没有提供它


那么,有没有办法按应用程序ID过滤流?

我没有看到类似按应用程序ID跟踪的内容。如果您的查询变得太复杂,有太多的关注/关键字,公共流媒体api将拒绝它, 您不能打开超过2个与用户流的连接。所以,最后一个解决方案是使用Site Stream,->您可以打开尽可能多的用户连接,只要有用户注册到您的应用程序

但文件说:

Site Streams目前处于封闭测试阶段。申请表不适用 不再被接受


联系twitter,确保阿尔斯特尼卡有一篇非常有趣的文章。看看这段代码和本文末尾的链接

如果您使用的是python,pycurl将完成这项工作。Its为接收到的每一小段数据提供了一种执行函数的方法

import pycurl, json

STREAM_URL = "http://chirpstream.twitter.com/2b/user.json"

USER = "YOUR_USERNAME"
PASS = "XXXXXXXXX"

userlist = ['user1',...,'userN']

def on_receive(self, data):
    self.buffer += data
    if data.endswith("rn") and self.buffer.strip():
        content = json.loads(self.buffer)
        self.buffer = ""

        if "text" in content and content['user'] in userlist:
                #do stuff

conn = pycurl.Curl()
conn.setopt(pycurl.USERPWD, "%s:%s" % (USER, PASS))
conn.setopt(pycurl.URL, STREAM_URL)
conn.setopt(pycurl.WRITEFUNCTION, on_receive)
conn.perform()
你可以在这里找到更多信息