当前位置: 首页 > 知识库问答 >
问题:

提示流返回错误 401

桑博远
2023-03-14

我正在尝试使用Tweepy API流,但我一直收到错误401。我在网上寻找线索,我找到的每个线程都说这是因为时区设置。那可能不是我的情况。

在我的方案中,我可以与 Twitter API(verify_credentials)进行通信,但是当我创建 Stream 对象并使用筛选器方法触发它时,我不断收到错误 401。这是我的监听器类:

class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print(status.text)

    def on_error(self, err):
        print(err)

这是我正在测试的代码:

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
listener = MyStreamListener()
myStream = tweepy.Stream(auth=api.auth, listener=listener)
401

api.verify_credentials()
User(_api=<tweepy.api.API object at 0x02E30DF0>, _json={'id':...})

如您所见,api。verify_credentials()成功。但当创建流时,我会得到错误401(根据twitter的文档,未经授权和其他情况)。

Tweepy模型的更多调试输出:

2018-01-14 20:51:43,025 requests_oauthlib.oauth1_auth -  DEBUG: Updated url: https://stream.twitter.com/1.1/statuses/filter.json?delimited=length
2018-01-14 20:51:43,025 requests_oauthlib.oauth1_auth -  DEBUG: Updated headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '17', 'Authorization': 'OAuth oauth_nonce="xxx", oauth_timestamp="1515955903", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="xxx", oauth_token="xxx-xxx", oauth_signature="xxx"'}
2018-01-14 20:51:43,025 requests_oauthlib.oauth1_auth -  DEBUG: Updated body: 'track=python%2Clive'
2018-01-14 20:51:43,026 urllib3.connectionpool -  DEBUG: Starting new HTTPS connection (1): stream.twitter.com
2018-01-14 20:51:44,675 urllib3.connectionpool -  DEBUG: https://stream.twitter.com:443 "POST /1.1/statuses/filter.json?delimited=length HTTP/1.1" 401 283
2018-01-14 20:51:44,676 api.twitter -  ERROR: error occurred while listening for new statuses: err=401

到目前为止,我已经尝试过了:

    < li >允许完全访问(读取、写入和直接消息) < li >生成新密钥 < li >手动设置我的Windows 10时区 < li >自动配置时区 < li >验证我在twitter上的时区是否同步

我使用的是蟒蛇3.6.4和蟒虫3.5

这是非常基本的场景。欢迎任何建议。

共有1个答案

穆俊名
2023-03-14

很抱歉,这是因为时区问题。我的Windows配置了自动时间,但是当我查看日期时

我配置了一些别的东西,按下“现在更新”,让它工作,我的代码现在工作了。因此,如果您也遇到这种情况,请验证windows ntp服务器是否可以访问并为您工作。

 类似资料:
  • 问题内容: 我是PL / SQL的初学者,正在尝试一些sql脚本,但是有时我的脚本中有错误,并且没有出现提示;我仍然处于输入模式。 如何在不关闭终端的情况下检索提示? (ps:我在Ubuntu OS下为oracle 11g使用sql plus) 问题答案: 从文档中 SQL * Plus以与SQL命令相同的方式对待PL / SQL子程序,除了分号(;)或空白行不会终止并执行块之外。通过在新行上单独

  • 基类控制器里有error方法,用于api的错误消息返回输出 /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息'] * @param mixed $data 返回的数据 * @par

  • 在前面的例子中,我们使用组合算子显式地处理错误。 另一种处理这种情形分解的方法是使用 match 语句和提前返回(early returns)的组合形式。 也就是说,我们可以简单地停止执行函数并返回错误(若发生的话)。 而且这种形式的代码更容易阅读和编写。考虑如下版本,这是将之前的例子使用提前返回方式重写的: // 使用 `String` 作为错误类型 type Result<T> = std::

  • 本文向大家介绍PHP中Restful api 错误提示返回值实现思路,包括了PHP中Restful api 错误提示返回值实现思路的使用技巧和注意事项,需要的朋友参考一下 RESTful架构是一种流行的互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便。 REST是Representational State Transfer的缩写,翻译为“表现层状态转化”。表现层其实就是资源,因此可以理解

  • 我是JS的学生。我有一段代码返回了一个错误。 这是返回的语法错误。你们能解释一下我做错了什么吗?

  • 这三个函数的返回类型提示有什么不同吗? 他们都应该有< code>- 提问的动机是这个问题,这个很好的答案,以及我正在学习类型提示的事实。