【问题标题】:Twython OAuth1 issues, 401 error using example codeTwython OAuth1 问题,401 错误使用示例代码
【发布时间】:2013-06-30 14:36:57
【问题描述】:

我正在尝试使用最新版本的 Twython 和 Python 2.7.3 设置流。我试图重现streaming docs 中的示例,它依赖于OAuth1 docs。使用以下代码会产生 401 错误,直到我终止执行:

from twython import Twython
from twython import TwythonStreamer

class MyStreamer(TwythonStreamer):
    def on_success(self, data):
        if 'text' in data:
            print['text'].encode('utf-8')

    def on_error(self, status_code, data):
        print status_code


APP_KEY    = 'mupAeFE44nOU5IlCo4AO0g' # Consumer key in twitter app OAuth settings
APP_SECRET = 'NOTMYSECRET0zo1WbMAeSIzZgh1Hsj9CrlShonA'  # Consumer secret in OAuth settings

twitter = Twython(APP_KEY,APP_SECRET)
auth = twitter.get_authentication_tokens()

OAUTH_TOKEN        = auth['oauth_token']
OAUTH_TOKEN_SECRET = auth['oauth_token_secret']

stream = MyStreamer(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
stream.statuses.filter(track = 'twitter')

“OAUTH_TOKEN”和“OAUTH_TOKEN_SECRET”的值最终设置为 unicode 字符串。我已经将 'APP_KEY' 和 'APP_SECRET' 设置为上述或 unicode 字符串,结果相同。

按照this reported issue 中的建议,我更新了 requests 和 requests-oauthlib,但没有运气。

我不认为我遇到了防火墙问题。在这一点上,我已经在三个不同的盒子上尝试了这段代码,它们都在不同的语言环境中,结果都一样。

目前不知道如何进行。感谢所有帮助。

【问题讨论】:

  • 你在防火墙后面吗...
  • 不在防火墙后面,详情请参阅更新。

标签: python twitter twitter-oauth twython


【解决方案1】:

当你运行类似下面的代码时会发生什么?

from twython import Twython

CONSUMER_KEY = "****"
CONSUMER_SECRET = "****"

OAUTH_TOKEN = "****"
OAUTH_TOKEN_SECRET = "******"

twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

import json
print(json.dumps(twitter.get_user_timeline(screen_name='jonatascd')[0], indent=2))

我几乎在同一时间 [1] 在 github 上提出了一个类似问题的问题,因为我在这里遇到了同样的问题(并且我在不止一种情况下尝试过)


更新: 从问题 [1] 中提出的解决方案 - 运行:

ntpd -q

那是因为系统时间有点过。 好吧,对我来说工作。

[1]https://github.com/ryanmcgrath/twython/issues/237

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多