使用 UCWA API 安排 Lync 会议
Posted
技术标签:
【中文标题】使用 UCWA API 安排 Lync 会议【英文标题】:Using UCWA API to schedule Lync meetings 【发布时间】:2016-10-24 10:19:37 【问题描述】:我已经在 C# 中验证并授权了 UCWA API。应用程序 ID 也是使用生成的令牌生成的。当我尝试使用以下代码创建 lync 会议时,我收到错误“内部服务器错误”。 错误:-
"code":"ServiceFailure","message":"Your request couldn't be completed.","debugInfo":"errorReportId":"e2c35f5e0b274c4185d08837dd7e16a3"
我的代码是:-
onlinemeetingURL = "https://lynctswebint.Mycompany.com/ucwa/oauth/v1/applications/101030060103/onlineMeetings/myOnlineMeetings";
request = new RestRequest(onlinemeetingURL, Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Host", "lynctswebint.Mycompany.com");
request.AddHeader("expirationTime","1482572914000");
request.AddHeader("Authorization", String.Format("0 1", applicationTokenType, applicationToken));
var applicationBody = @"""lobbyBypassForPhoneUsers"" : ""Disabled"",""phoneUserAdmission"" : ""Disabled"",""description"":""0"",""subject"":""1"",""attendees"":""2"",""leaders"":""3""";
request.RequestFormat = DataFormat.Xml;
request.AddParameter(
"application/json",
"" + string.Format(applicationBody, "This is a test for UCWA meeting creation", "Test UCWA meeting creation", "sip:testonline.lync@Mycompany.com", "sip:lync.test@Mycompany.com") + "",
ParameterType.RequestBody);
ucwaClient.ExecuteAsync(request, this.functionToCall);
没有关于此错误的更多详细信息。我正在为此使用 restSharp 库。
【问题讨论】:
您能否在网络跟踪或其他方式中显示您的请求正文。发送 JSON 时 request.RequestFormat 设置为 DataFormat.Xml 是否有原因? 【参考方案1】:除了提到的负载格式规范不一致之外,您的代码/负载几乎没有错误。
例如,expirationTime 信息也必须在有效负载正文中提供,而不是作为请求标头的一部分。 此外,attendees 和 leaders 应该是数组。
我建议您仔细阅读并实施myOnlineMeetings resource
上记录的内容【讨论】:
感谢您的回复。我根据您的建议进行了更正,但仍然出现相同的错误。通过您给定的链接,似乎错误与 nvalidExchangeServerVersion 有关,我使用的服务帐户没有关联邮箱,这可能是错误的原因。 感谢分享的链接。问题已解决,我发布了我的更正。谢谢:-)【参考方案2】:在我的代码中遵循 sn-p 是不正确的。
request.AddParameter(
"application/json",
"" + string.Format(applicationBody, "This is a test for UCWA meeting creation", "Test UCWA meeting creation", "sip:testonline.lync@Mycompany.com", "sip:lync.test@Mycompany.com") + "",
ParameterType.RequestBody);
当我传递字符串时,我必须为与会者和领导传递数组。 我将其更正如下,现在可以正常工作了。
request.AddParameter("application/json", "\r\n \"attendanceAnnouncementsStatus\":\"Enabled\",\r\n \"description\":\"This is a test for UCWA meeting creation\",\r\n \"subject\":\"Test UCWA meeting creation\",\r\n \"attendees\": [\"sip:testonline.lync@mycompany.com\"],\r\n \"leaders\": [\"sip:lync.test@mycompany.com\"]\r\n ", ParameterType.RequestBody)
【讨论】:
以上是关于使用 UCWA API 安排 Lync 会议的主要内容,如果未能解决你的问题,请参考以下文章
使用 rest api 设置与 Skype for business (lync) 的会议
UCWA 可以检索已安排的 Microsoft Outlook 会议吗?