【问题标题】:tweepy.error.TweepError: [{u'message': u'Text parameter is missing.', u'code': 38}]tweepy.error.TweepError: [{u'message': u'Text parameter is missing.', u'code': 38}]
【发布时间】:2017-01-14 23:18:24
【问题描述】:

我正在使用tweepy twitter api for python,在使用它时我遇到了一些错误, 我无法使用send_direct_message(user/screen_name/user_id, text)这个方法

这是我的代码:-

import tweepy
consumer_key='XXXXXXXXXXXXXXXXX'
consumer_secret='XXXXXXXXXXXXXXXXX'
access_token='XXXXXXXXXXXXXXXXX'
access_token_secret='XXXXXXXXXXXXXXXXX'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

API = tweepy.API(auth)

user = API.get_user('SSPendse')
screen_name="CJ0495"
id = 773436067231956992
text="Message Which we have to send must have maximum 140 characters, If it is Greater then the message will be truncated upto 140 characters...."
# re = API.send_direct_message(screen_name, text)
re = API.send_direct_message(id, text)
print re

出现以下错误:-

Traceback (most recent call last):
  File "tweetApi.py", line 36, in <module>
    re = API.send_direct_message(id, text)
  File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 245, in _call
    return method.execute()
  File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 229, in execute
    raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: [{u'message': u'Text parameter is missing.', u'code': 38}]

我会犯什么错误...???

我还有另一个与 tweepy 相关的问题,我如何才能移至第二页或在以下代码中获得更多关注者

i=1
user = API.get_user('Apple')
followers = API.followers(user.id,-1)
for follower in followers:
    print follower,'\t',i
    i=i+1

如果我运行代码,我只有 5000 个关注者,但是如果我使用 user.followers_count,它会提供 362705 个关注者(这个数字可能会在你检查时发生变化)如何查看剩余关注者

谢谢... :)

【问题讨论】:

    标签: python-2.7 tweepy


    【解决方案1】:

    要解决您的第一个错误,请将re = API.send_direct_message(id, text) 替换为re = API.send_direct_message(id, text=text)。此函数仅在您将消息作为命名参数提供时才有效。您需要的参数名称是“文本”,因此您可能需要更改变量名称以避免混淆。另外,我刚刚尝试过,因为您发送的是直接消息,而不是推文,所以它不会被截断为仅前 140 个字符。

    对于您的第二个问题,这应该可以解决问题,正如 here 所解释的那样:

    followers = []
    for page in tweepy.Cursor(API.followers, screen_name='Apple').pages():
        followers.extend(page)
        time.sleep(60) #this is here to slow down your requests and prevent you from hitting the rate limit and encountering a new error
    print(followers)
    

    【讨论】:

    • 好的,谢谢您的回复... :)
    猜你喜欢
    • 2021-05-02
    • 2022-12-22
    • 2023-01-30
    • 1970-01-01
    • 2022-06-25
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多