【问题标题】:birdy.twitter.TwitterApiError: Unable to decode JSON responsebirdy.twitter.TwitterApiError:无法解码 JSON 响应
【发布时间】:2018-07-23 23:29:17
【问题描述】:

我正在尝试使用 OAuth 2.0 使用 Streaming API 分析 twitter 实时数据

我正在使用birdy twitter API 客户端link

from birdy.twitter import AppClient,StreamResponse

CONSUMER_KEY = 'B....c'
CONSUMER_SECRET = 'l....A'

client = AppClient(CONSUMER_KEY, CONSUMER_SECRET)
access_token = client.get_access_token()
resource = client.stream.statuses.filter.post(track='twitter')
for data in resource.stream():
       print data

执行时出现以下错误

Traceback(最近一次通话最后一次):

文件“webapp/streams.py”,第 23 行,在 资源 = client.stream.statuses.filter.post(track='twitter') 文件“/home/ravi/PycharmProjects/twitter-livestream/venv/local/lib/python2.7/site-packages/birdy/twitter.py”,第 86 行,在帖子中 return self._client.request('POST', self._path, **params)

文件“/home/ravi/PycharmProjects/twitter-livestream/venv/local/lib/python2.7/site-packages/birdy/twitter.py”,第 167 行,请求中 return self.handle_response(method, response)

文件“/home/ravi/PycharmProjects/twitter-livestream/venv/local/lib/python2.7/site-packages/birdy/twitter.py”,第 189 行,在 handle_response raise TwitterApiError('无法解码 JSON 响应。', response=response, request_method=method)

birdy.twitter.TwitterApiError:无法解码 JSON 响应。 (发帖https://stream.twitter.com/1.1/statuses/filter.json

在此先感谢...:)

【问题讨论】:

    标签: python api twitter oauth-2.0


    【解决方案1】:

    (我使用的是 Python 3)

    以下对我有用...

    from birdy.twitter import StreamClient
    
    # insert your consumer key/secret, access token/secret
    client = StreamClient("xx",
                        "xx",
                        "xx",
                        "xx")
    
    response = client.stream.statuses.filter.post(track='twitter')
    for data in response.stream():
        print (data)
    

    【讨论】:

    • 更具体地说,您正在使用 AppClient,我没有看到任何证据表明 AppClient 可以与流式传输方法一起使用。
    • 谢谢...。我得到了结果...我有疑问...这是使用 OAuth 2.0 的正确方法还是可以通过使用 django allauth 来完成。它提供 OAuth 2.0 吗?
    • 不,此方法需要 Oauth 1.0a
    • 你能提供一个链接或告诉步骤如何使用 OAuth 2.0 吗?真的有用吗??
    • 没有办法做到这一点,Twitter API 不支持流的仅应用程序身份验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2022-12-30
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2013-10-15
    相关资源
    最近更新 更多