Ошибка токена при отправке сообщения Wechat с помощью Python

У меня есть страница подписки Wechat, и я настроил в https://admin.wechat.com/ токен, а также URL-адрес веб-хука моего сервера myserver.com/wechat/webhook

Мой серверный код Python аутентифицирует сервер Wechat с проверкой подписи, одноразовым номером и отметкой времени, и я могу получать сообщения от Wechat на свой веб-хук.

Но я не могу отправлять сообщения со своего сервера в 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!]"}

Какой токен я должен использовать? Или в чем может быть ошибка? Спасибо


person Alexandre Paroissien    schedule 18.08.2017    source источник


Ответы (1)


Я думаю, что это может быть проблема с разрешением... В консоли администратора моей страницы Wechat написано, что у меня есть разрешение для автоматического ответа, но не для Service API. Кто-нибудь может это подтвердить?

Действительно, я успешно протестировал мгновенный ответ на сообщения POST с ответом http (автоматический ответ или обратный вызов) http://admin.wechat.com/wiki/index.php?title=Callback_Messages

И Service API, похоже, не работает (что и было целью моего вопроса) http://admin.wechat.com/wiki/index.php?title=Customer_Service_Messages

person Alexandre Paroissien    schedule 21.08.2017