我一直试图使用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
请提供任何帮助/建议吗?
答案 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
参数。