如何在 UCWA 1.0 API 中接受 Lync 对话邀请
Posted
技术标签:
【中文标题】如何在 UCWA 1.0 API 中接受 Lync 对话邀请【英文标题】:How to accept a Lync conversation invite in the UCWA 1.0 API 【发布时间】:2016-10-17 03:07:39 【问题描述】:我一直使用 UCWA v1.0,但找不到任何文档...所有 Micrsoft UCWA 文档似乎都指向 v2.0。例如,以下, Lync 2013
我遇到的具体问题与接收传入消息有关。 对于 v2.0,这是有据可查的, Receiving an IM。 这表示需要使用传入事件响应提供的 href 来“接受”传入消息邀请。这可以从示例事件响应的以下 sn-p 中看出。
"messagingInvitation":
"direction": "Incoming",
"importance": "Normal",
"threadId": "Ac7bUftwUcVMzgTzRl+OQchCsUn35Q==",
"state": "Connecting",
"subject": "",
"_links":
"self":
"href": "/ucwa/oauth/v1/applications/104/communication/messagingInvitations/6408"
,
"to":
"href": "/ucwa/oauth/v1/applications/104/people/toshm@contoso.com"
,
"conversation":
"href": "/ucwa/oauth/v1/applications/104/communication/conversations/eee0"
,
"accept":
"href": "/ucwa/oauth/v1/applications/104/communication/messagingInvitations/6408/accept"
,
"decline":
"href": "/ucwa/oauth/v1/applications/104/communication/messagingInvitations/6408/decline"
,
"messaging":
"href": "/ucwa/oauth/v1/applications/104/communication/conversations/eee0/messaging"
,
"message":
"href": "data:text/plain;charset=utf-8,Hi+Tosh%0d%0a"
,
不幸的是,在 v1.0 中,我没有得到“接受”href。以下 sn-p 是我在事件响应中得到的。
"messagingInvitation":
"direction": "Incoming",
"importance": "Normal",
"threadId": "AdIoE6o5brzgPHMtT/KvKJPoa2JkpQAAJQgQAAB7VhA=",
"state": "Connecting",
"subject": "",
"_links":
"self":
"href": "/ucwa/oauth/v0/applications/14263104276/invitations(\u00276855de527cbd42d8a050eb85c6471825\u0027)"
,
"to":
"href": "/ucwa/oauth/v0/applications/14263104276/people(\u0027test.user1@test.mydomain.au\u0027)"
,
"answeredByContact":
"href": "/ucwa/oauth/v0/applications/14263104276/people(\u0027test.user1@test.mydomain.au\u0027)"
,
"answer":
"href": "/ucwa/oauth/v0/applications/14263104276/invitations(\u00276855de527cbd42d8a050eb85c6471825\u0027)/answer"
,
"conversation":
"href": "/ucwa/oauth/v0/applications/14263104276/conversations(\u0027e8fb2fc1-dcfe-4941-93fa-aaf7e3f63e51\u0027)"
,
"decline":
"href": "/ucwa/oauth/v0/applications/14263104276/invitations(\u00276855de527cbd42d8a050eb85c6471825\u0027)/decline"
,
"messaging":
"href": "/ucwa/oauth/v0/applications/14263104276/conversations(\u0027e8fb2fc1-dcfe-4941-93fa-aaf7e3f63e51\u0027)/messaging"
,
"message":
"href": "cid:81774e95-8783-46b2-85cb-f0c480f26570"
,
似乎“答案”href 可能是等效的,但是当我尝试在没有有效负载的情况下进行 POST 时,我得到了 404 Not Found。当然,由于缺乏任何文档,因此很难继续。注意:我可以通过执行 POST 并使用 UCWA v2.0 API 定义的有效负载来让“拒绝”工作。
有没有人有 UCWA v1.0 API 参考资料?或者有没有人知道如何使用 UCWA v1.0 接受/回答消息邀请?
【问题讨论】:
您尝试过除 POST 之外的任何 HTTP 动词吗?即 PUT/PATCH 是的,我有。我怀疑“答案”href 是正确的,它应该是一个需要一些有效负载的 POST。当我在没有有效负载的情况下尝试“拒绝”时,我也得到了 404,但它在正确的有效负载下工作正常。所以我认为 404 具有误导性。 您实际上并没有使用 UCWA 的 v1,而是基于返回的链接路径 (v0/...) 的测试版安装。当从测试版转移到实际版本时,其中许多事情发生了变化。是否可以更新到 Lync 2013 的最新(甚至更高版本)CU,因为这可能会将 UCWA 服务从您的 v0 路径推送到 v1 路径。 @ShelbyZ 感谢您的评论。我相信你是对的。在稍早应用累积更新后,它确实达到了您预测的效果......我现在看到 v1 路径,并且根据文档获得“接受”href。 【参考方案1】:我仍然不确定 UCWA 的版本。如原始问题所述,Microsoft 的所有 UCWA 文档似乎都指向 UCWA 版本 2 文档。版本 2 文档包含许多示例,其中包括包含 v1.1 的 URL 路径。比如来自here
/ucwa/oauth/v1/applications/104/communication/messagingInvitations/6408/accept
我们安装了来自 MSDN 的 Lync Server 2013 v5.0.8308.0。这似乎包括不受支持的 UCWA 版本。 UCWA 的版本包括包含 v0.0 的 URL 路径。例如。
/ucwa/oauth/v0/applications/14263104276/invitations(\u00276855de527cbd42d8a050eb85c6471825\u0027)/answer
我们将累积修补程序应用于 Lync Server 2013,将其升级到 v5.0.8308.872。
这样做似乎已将 UCWA 更新为与文档内联,现在提供 'accept' href 代替 'answer'。
这是 UCWA 的 v1 还是 v2 尚不清楚。
【讨论】:
以上是关于如何在 UCWA 1.0 API 中接受 Lync 对话邀请的主要内容,如果未能解决你的问题,请参考以下文章
我们可以用 UCWA API (Lync) 做啥?以及我们不能用 UCWA API 做啥?
Outofbox SharePoint Presence Control 以使用 UCWA Lync API