如何解决Tweepy错误214:用户不是有效的Long
这已经困扰了我好一阵子了。我无法在Tweepy文档的任何地方找到错误代码,并且在线解决该错误代码没有问题,这很奇怪。我正在尝试使用send_direct_message方法发送直接消息,该方法在文档中看起来像这样:
API.send_direct_message(recipient_id,text[,quick_reply_type][,attachment_type][,attachment_media_id])
这是我的代码(不包括所有身份验证等:
text = "Hi user"
user = "user"
api.send_direct_message(user,text)
这是错误代码:
Traceback (most recent call last):
line 34,in <module>
api.send_direct_message(user,text)
line 458,in send_direct_message
return self._send_direct_message(json_payload=json_payload)
line 252,in _call
return method.execute()
line 234,in execute
raise TweepError(error_msg,resp,api_code=api_error_code)
tweepy.error.TweepError: [{'code': 214,'message': "event.message_create.target.recipient_id: 'user' is not a valid Long"}]
我在这里只能想到的是它出于某种原因将我的userID检测为经度,否则我不知道为什么我收到此错误消息。请教我蟒神。
解决方法
User id 是一个数字,代表 Twitter 用户的 ID(不是用户名)
text = "Hi user"
user = "123" # valid ID
api.send_direct_message(user,text)
您可以通过两种方式获取用户 ID:
如果您正在回复 DM,您可以从收到的消息中获取它
user = message.message_create["sender_id"]
或者,您可以通过 API 调用获取它(只要您知道用户名)
user = api.get_user("username")
print(user.id_str)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。