如何在 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 做啥?

使用 UCWA API 安排 Lync 会议

Lync UCWA Api 自动发现问题

Outofbox SharePoint Presence Control 以使用 UCWA Lync API

如何访问 Lync Online (Office 365) 的 UCWA 终结点?

Lync UCWA - 创建应用程序提供 HTTP 409:冲突错误