我正在尝试连接到twitter stream api以实时获取tweets。这段代码一直工作到5-6之前。突然之间我开始收到401。奇怪的是,这是发生在我的本地机器和位于云端的生产服务器上,所以我认为这不是一个网络相关的问题。Tweepy streaming returns 401需要授权
下面是代码:
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
auth.callback = 'https://localhost' #no effect commented/uncommented
stream = Stream(auth, l)
stream.filter(track=['twitter'], languages=["es"])
到目前为止,我已经试过如下:
- 生成新的消费重点,消费者的秘密,访问令牌和访问令牌的秘密。我使用了以前工作的4种不同的键。
- 从apps.twitter.com创建一个全新的应用程序。由于有些用户报告401“需要授权”与Twitter的应用程序页面中缺少回调URL字段有关,因此填充了回拨网址。
- 与我的本地和生产服务器上的ntp服务器同步我的时钟。我的时钟没有关闭。
- 我的应用程序具有正确的权限,并在配置后收到访问令牌和密码。
这里是要求:
'Content-Length': '22'
'Content-Type': 'application/x-www-form-urlencoded'
'Authorization': 'OAuth oauth_nonce="161484371946745487981492681844"
oauth_timestamp="1492681844"
oauth_version="1.0"
oauth_signature_method="HMAC-SHA1"
oauth_consumer_key="<oauth_consumer_key>"
oauth_token="<oauth_token>"
oauth_signature="tphQqFWaBvEo2byjZ%2BRqNAM30I0%3D"'
Method: 'POST'
URL: 'https://stream.twitter.com/1.1/statuses/filter.json?delimited=length'
任何帮助,为什么我收到一个401未授权“需要授权”的反应可以理解。
编辑:我也尝试过使用Twython,并从Twitter获得相同的回复。
感谢
同样也是Twython Oauth。你也不需要Oauth2来连接流式端点。 –
您是否使用过时的tweepy版本? –