【问题标题】:twitterAPI python error : No JSON object could be decodedtwitterAPI python错误:无法解码JSON对象
【发布时间】:2014-06-21 18:46:16
【问题描述】:

我正在使用 twitterAPI python 包装器https://github.com/geduldig/TwitterAPI

    CONSUMER_KEY = ''
    CONSUMER_SECRET = ''
    ACCESS_TOKEN_KEY = ''
    ACCESS_TOKEN_SECRET = ''

    api = TwitterAPI(
                    CONSUMER_KEY,
                    CONSUMER_SECRET,
                    ACCESS_TOKEN_KEY,
                    ACCESS_TOKEN_SECRET,
                    # auth_type='oAuth1',
                    # proxy_url=None
    )
    r = api.request('account/verify_credentials')
    print(r.text)

这很好,我得到了正确的响应,所以我尝试使用 twitter 的过滤器 api “状态/过滤器”https://dev.twitter.com/docs/api/1.1/post/statuses/filter 带有“跟随”参数

lst = api.request('statuses/filter', {'follow': 'some_user_id'}) #user_id = 123456789,一些 9 位数字

我打印此对象的类型 print(type(lst)) 并得到 <class 'TwitterAPI.TwitterAPI.TwitterResponse'>

但是当我尝试访问此类的方法时,它给了我错误No JSON object could be decoded 你可以在这里找到这个类的所有方法http://twitterapi.readthedocs.org/en/latest/

我已经尝试了所有 4 种方法 print(lst.get_iterator()) ,... ,print(lst.text) 但同样的错误。
任何帮助将不胜感激。

【问题讨论】:

  • print(lst.status_code) 得到什么?

标签: python json python-2.7 twitter


【解决方案1】:

一旦你得到一个 TwitterResponse 对象

lst = api.request('statuses/filter', {'follow': 'some_user_id'})

您可以使用迭代返回的状态流

for item in lst:
  print(item['text'])

你也可以使用

获取HTTP状态码
print(lst.status_code)

但是,print(lst.text) 将不起作用,因为状态/过滤器使用连续流连接。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2019-01-21
    • 1970-01-01
    • 2015-03-29
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    相关资源
    最近更新 更多