所以我试图使用tweepy发送带有变量的推文。确切地说,整个推文是一个变量。
代码段:
tweet = '"If you don\'t think every day is a good day, just try missing one." - Cavett Robert\n\n Tweet URL: https://twitter.com/\nhttp://redd.it/31a5k0'
status = api.update_status(status=tweet)
当我运行时,我收到此错误:
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
api.update_status(status=tweet)
File "C:\Python34\lib\site-packages\tweepy\api.py", line 193, in update_status
)(post_data=post_data, *args, **kwargs)
File "C:\Python34\lib\site-packages\tweepy\binder.py", line 239, in _call
return method.execute()
File "C:\Python34\lib\site-packages\tweepy\binder.py", line 223, in execute
raise TweepError(error_msg, resp)
tweepy.error.TweepError: Twitter error response: status code = 403
这不是因为推文太长了。这是139个字符。
当我使用api.update_status(status='Hello')
时,它完全正常。只有当我使用它破坏的变量时才会这样。
我还尝试了以下方法:
api.update_status(status='%s' % tweet)
api.update_status(status=('%s' % tweet))
api.update_status(status='{0}'.format(tweet))
api.update_status(status=str(tweet))
现在我是python的新手,所以我不完全理解错误。有人可以告诉我为什么这不起作用以及我如何正确使用它?
答案 0 :(得分:2)
您收到的错误代码是HTTP 403: Forbidden
状态代码,因此您的API调用在某种程度上被Twitter API禁止,而不是tweepy
。
任何导致重复的尝试都将被阻止,从而导致403错误。因此,用户无法连续两次提交相同的状态。
因此,请尝试更改您的内容,之后可能会有效。
答案 1 :(得分:1)
Twitter包装链接(https://dev.twitter.com/overview/t.co)后,带有两个链接的长推文实际上超过140个字符。每个链接最终为22个字符。