【发布时间】:2017-11-10 18:15:17
【问题描述】:
我正在尝试按照此处的说明在 Skype for Business Online 中使用 REST API:https://msdn.microsoft.com/EN-US/library/office/mt590891(v=office.16).aspx。
我首先调用发现服务,然后为用户取回发现 URL;对我来说看起来像这样: https://webdir0b.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user
然后我调用 Azure 并成功获取 https://webdir0b.online.lync.com 的访问令牌。下一步是问题所在 - 我再次向用户的发现 URL 发出请求并包含访问令牌。调用成功返回,但问题是它在有效负载中没有文档中描述的“应用程序”url。相反,它返回的信息与我调用一般发现端点 (https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root) 时得到的信息完全相同。我已经三重检查了我正在调用正确的端点,所以......关于为什么在为用户调用发现 URL 时我没有得到预期的有效负载的任何提示?
【问题讨论】:
-
好吧...什么鬼。我一直在研究这个问题——有一次——它实际上返回了正确的有效载荷。幸运的是,我注意到它转到了不同的服务器,所以......这个 API 是否不适用于所有 SFB 服务器?具体来说,现在如果我将发现端点硬编码为webdir1a.online.lync.com/Autodiscover/AutodiscoverService.svc/…,那么我会得到正确的有效负载。如果我只是采用一般发现端点给我的东西,那么它每次都会失败,除非它碰巧落在这个服务器上。那么有什么关系呢??
-
如果您已经通过了该点,则不应将您路由回位置 A,因此查看请求/响应跟踪以查看更大的图片会很有趣。如果您无法做到,您可以考虑获取 Fiddler 跟踪并联系 MSFT,因为在启用每个在线用户时可能会遇到一些小问题,您可能是少数不幸的人之一。
-
我会尽量简短地回答 - 我得到了这个工作。第一个问题 - 当你没有在结果中得到“应用程序”时,你应该有一个“重定向”值。继续遵循并针对它执行 GET(使用获取访问令牌和添加 auth 标头的过程),最终您应该获得应用程序 Url。第二个问题 - 获得应用程序 URL 后,您需要获取另一个访问令牌并使用应用程序 URL 的主机名作为资源 ID。然后您可以发布和创建您的应用程序。真的希望这可以帮助某人。 :-)
-
那是正确的。
标签: skype-for-business ucwa skypedeveloper