0

我一直在使用Python Twitter 工具,并且通过这个库使用 REST API 进行身份验证没有任何问题。

但是当我尝试使用 Streaming API 进行身份验证时,除了 401 HTTP Unauthorized 错误,我什么也得不到。

网站类似,我的代码如下:

stream = TwitterStream(
auth=OAuth(OAUTH_TOKEN, OAUTH_SECRET,
           CONSUMER_KEY, CONSUMER_SECRET)
)

stream.statuses.sample()

我试过了:

  1. 仔细检查我的令牌/密钥——我知道它们是正确的,因为我可以通过相同的库使用相同的令牌和密钥对 REST API 进行身份验证。

  2. 仔细检查我的权限级别——我什至故意将其更改为读取、写入和直接消息,但仍然无法正常工作。

  3. 另外,我查看了Twitter Dev网站,它说我只需要 OAuth 就可以使用 Streaming API 进行身份验证,所以我认为这也不是问题。我只需要访问公共流,没有比这更高的了。

  4. 检查我是否有最新版本的库——我有。

任何的意见都将会有帮助!:)

4

1 回答 1

0

原来这是一个 OAuth 问题,我计算机上的时钟比 Twitter 服务器的时钟多+/-5 分钟,因此出于授权原因,我不断收到 HTTP 401 错误。

修复:更改您计算机的内部时钟以匹配 Twitter 的时钟或更改您的 OAuth 时间戳调用。

python twitter 工具的存储库问题中发现的问题

此外,供您参考,OAuth Troubleshooting - about 8th point down谈论时间戳。

于 2013-10-10T08:04:30.227 回答