Я пытаюсь закодировать чат-чат Skype для бизнеса с помощью UCWA. На данный момент я могу успешно создать приложение, отправить сообщение с приглашением и, наконец, отправить сообщение, которое получено правильно. Проблема в том, что если я отправляю другое сообщение, оно никогда не будет получено его получателем.
В этом случае сообщение имеет статус «Сбой», но никакой другой полезной информации не предоставляется.
Я использовал Учебное пособие Мэтью Проктора и официальную документацию Microsoft . Например, Microsoft отправляет только одно сообщение, прежде чем закрыть диалог, поэтому никаких указаний по моей проблеме не дано. В учебнике Мэтью Проктора говорится только о повторном запуске запроса POST POST https://myhostname.com/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging/messages
. И я правильно называю ресурс события между каждым сообщением.
Вот шаги, выполняемые в моем сценарии:
sd.send_user_message_invitation()
conv_id = sd.get_conversation_ID_in_event()
sd.send_message(conv_id, "Premier message")
sd.get_event()
sd.send_message(conv_id, "Deuxième message")
sd.get_event()
sd.terminate_conversation(conv_id)
Вот ответ, который я получаю, когда делаю запрос GET на URL-адрес события после первого сообщения (которое получено правильно) :
GET https://myhostname.com/ucwa/oauth/v1/applications/108/events?ack=2
{
"_links": {
"self": {"href": "/ucwa/oauth/v1/applications/108/events?ack=2"},
"next": {"href": "/ucwa/oauth/v1/applications/108/events?ack=3"}
},
"sender": [
{
"rel": "conversation",
"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e",
"events": [
{
"link": {
"rel": "message",
"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging/messages/2"
},
"status": "Success",
"_embedded": {
"message": {
"direction": "Outgoing",
"timeStamp": "\/Date(1581608086884)\/",
"_links": {
"self": {"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging/messages/2"},
"messaging": {"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging"}
},
"rel": "message"
}
},
"type": "completed"
}
]
}
]
}
И вот что я получаю, когда делаю GET-запрос по URL-адресу события после второго (или любого последующего отправленного) сообщения (которое не получено) ):
GET https://myhostname.com/ucwa/oauth/v1/applications/108/events?ack=3
{
"_links": {
"self": {"href": "/ucwa/oauth/v1/applications/108/events?ack=3"},
"next": {"href": "/ucwa/oauth/v1/applications/108/events?ack=4"}
},
"sender": [
{
"rel": "conversation",
"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e",
"events": [
{
"link": {
"rel": "message",
"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging/messages/3"
},
"status": "Failure",
"_embedded": {
"message": {
"direction": "Outgoing",
"timeStamp": "\/Date(1581608088182)\/",
"_links": {
"self": {"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging/messages/3"},
"messaging": {"href": "/ucwa/oauth/v1/applications/108/communication/conversations/39e/messaging"}
},
"rel": "message"
}
},
"reason": {
"code": "RemoteFailure",
"message": "Your request couldn\u0027t be completed.",
"debugInfo": {"errorReportId": "fb8aada02f7f47e6958b6c7df62e7bec"}
},
"type": "completed"
}
]
}
]
}
Что я забыл? Любая помощь?