我正在尝试编写一个nodeJS代码,该代码使用UCWA Web API将简单的通知发送到Skype for Business帐户,但是我没有成功。
客户在内部使用Skype for Business 2015。
要实现这一点,我遵循了下面的链接: https://www.matthewproctor.com/Send-An-IM-With-UCWA-Sending-the-IM/
看来我已经成功完成了第二部分。
在第3部分,我应该能够发送消息,该过程开始于使用POST方法请求以下URL: / ucwa / oauth / v1 / applications / 1023 ********* / communication / messagingInvitations
下面是POST数据示例:
{
"importance":"Normal",
"sessionContext":"33dc0ef6-0570-4467-bb7e-49fcbea8e944",
"subject":"Sample Subject Line",
"telemetryId":null,
"to":"sip:scottgu@contoso.com",
"operationId":"5028e824-2268-4b14-9e59-1abad65ff393"
}
问题1:有人知道我从哪里获得operationId参数吗?我不清楚这篇文章何时说它是在第1部分完成的。 我使用的是示例operationId,但不确定是否是导致其无法在以下步骤中正常运行的原因。
请求完成后,我正在发送消息的帐户的桌面应用程序会在屏幕的右下角弹出,其中包含我正在发送(主题)请求的帐户和标题。
如文章所述,UCWA返回了(201创建),但是将返回事件URL的正文为空。
因为我没有得到我对其进行硬编码的事件URL,所以我可以继续执行以下请求。
然后我打电话:
/ucwa/oauth/v1/applications/102........../events?ack=1
和
/ucwa/oauth/v1/applications/102........../events?ack=3
(我用在/ messagingInvitations请求中获得的应用程序ID替换代码102 ..........)
最后一个请求的响应返回了一个大对象,我对其进行了解析,当状态(itemEvents._embedded.messaging.state)等于“已连接”时,我得到了_embedded.messaging._links.sendMessage。
使用上面的URL,我发出下一个请求(POST),例如:
<hostname>/ucwa/oauth/v1/applications/10682720060/communication/conversations/f96afecd-8893-4cc2-a972-06bcd0b363cd/messaging/messages
然后我得到响应,
{"code":"NotFound","message":"The requested resource couldn\u0027t be found."}
有帮助吗?
非常感谢
答案 0 :(得分:0)
我目前也在与UCWA作战,这是我到目前为止建立的:
问题1:有人知道我从哪里获得operationId参数 来自?
当您使用“ POST / ucwa / oauth / v1 / applications”创建应用程序时,您会收到JSON响应,其中包含您的OperationID。它将在“ _embedded”>“通信”部分中。但是,由于OperationID值是字段的 key ,因此很难获得,因为只有线索“请在PUT请求中传递此值”作为字段值。
因为我没有将事件URL进行硬编码,所以我可以继续进行以下请求。
在创建应用程序响应中,您还将在“ _links”>“事件”部分中找到事件链接。
以下是应用程序响应的示例:
{
"culture":"en-US",
"userAgent":"UCWA Test",
"_links":{
"self":{"href":"/ucwa/oauth/v1/applications/101********"},
...
"events":{"href":"/ucwa/oauth/v1/applications/101********/events?ack=1"}
},
"_embedded":{
"me":{
...
},
"people":{
...
},
"onlineMeetings":{
...
},
"communication":{
"0000aaaa-00aa-00aa-00aa-000000aaaaaa":"please pass this in a PUT request",
...
}
},
"rel":"application"
}
对于发送消息错误,我真的不知道您的邮件可能涉及什么(您有HTTP状态代码吗?)。也许检查您的标头,尤其是“ Content-Type”标头,如果“ Content-Type”标头不正确,UCWA不会轻易识别我们发送给它的内容。即使它应该是400或415错误,也经常会导致500错误。