使用Python发送Wechat消息时出现令牌错误

时间:2017-08-18 08:52:27

标签: python rest python-requests wechat

我有一个微信订阅页面,我在https://admin.wechat.com/设置了一个令牌以及我服务器的webhook URL myserver.com/wechat/webhook

我的服务器Python代码通过签名检查,nonce和时间戳验证Wechat服务器,并且我能够从Wechat接收消息到我的webhook。

但我无法从我的服务器向Wechat发送消息,我使用以下代码和管理控制台中设置的令牌,如前所述,并遵循以前的文档: http://admin.wechat.com/wiki/index.php?title=Customer_Service_Messages

# Parse the received WeChat message
message = xmltodict.parse(message)

content = message['xml']['Content']
fromUser = message['xml']['FromUserName']
toUser = message['xml']['ToUserName']
createdTime = message['xml']['CreateTime']

# reply to message
post_data = {
   "touser": fromUser,
   "msgtype": "text",
   "text":
   {
        "content": "Thanks for your message"
   }
}
api_url = 'https://api.wechat.com/cgi-bin/message/custom/send?access_token=' + token
response = requests.post(api_url, data=post_data)
content = response.content

这是我得到的错误:

{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [udQ9ka0880vr32!]"}

我应该使用什么标记?或者可能是什么错误?感谢

1 个答案:

答案 0 :(得分:0)

我认为这可能是一个权限问题...在我的微信页面管理控制台中,它说我已获得自动回复的权限,但不是Service API。任何人都可以证实这一点吗?

我确实成功测试了使用http响应立即回复POST消息(自动回复或回调)http://admin.wechat.com/wiki/index.php?title=Callback_Messages

服务API似乎不起作用(这是我的问题的目的)http://admin.wechat.com/wiki/index.php?title=Customer_Service_Messages