通过Tweepy在Twitter上更新状态时的回溯

时间:2015-02-15 14:57:59

标签: python twitter tweepy

我一直试图使用tweepy在Twitter上发布我的Rpi读数,但首先我想检查tweepy是否正常工作,但事实并非如此。

我正确安装了软件包,但是当我尝试运行一个简单的代码来发布内容时,我收到了一个错误(是的,我已经创建了一个应用程序并拥有4个凭据)。

我正在尝试运行的代码:

import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
single_tweet = 'hello world'
api.update_status(single_tweet)
print "successfully Updated"

我明白了:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
  File "build/bdist.linux-armv6l/egg/tweepy/api.py", line 193, in update_status
  File "build/bdist.linux-armv6l/egg/tweepy/binder.py", line 239, in _call
  File "build/bdist.linux-armv6l/egg/tweepy/binder.py", line 223, in execute
tweepy.error.TweepError: [{u'message': u'media_ids parameter is invalid.', u'code': 44}]

我正在运行tweepy文件夹“oauth.py”中的python代码(添加我的凭据)

$ sudo python oauth.py
RapiCARA
Traceback (most recent call last):
  File "oauth.py", line 34, in <module>
    api.update_status(' Hello world ')
  File "build/bdist.linux-armv6l/egg/tweepy/api.py", line 193, in update_status
  File "build/bdist.linux-armv6l/egg/tweepy/binder.py", line 239, in _call
  File "build/bdist.linux-armv6l/egg/tweepy/binder.py", line 223, in execute
tweepy.error.TweepError: [{u'message': u'media_ids parameter is invalid.', u'code': 44}]

该文件中的代码,您可以在其原始来源中找到它:Tweepy in GITHUB

请提供任何帮助/建议吗?

1 个答案:

答案 0 :(得分:23)

update_status()方法的第一个位置参数被解释为media_ids parameter。您需要明确命名status参数以避免这种情况:

api.update_status(status=single_tweet)

这是Tweepy中的recent change,看起来他们的documentation尚未更新以反映这一点。

项目的不同签名为reported as a bug

该错误已于2015年8月修复;版本3.5或更新版的Tweepy再次将第一个位置参数视为status参数。