【问题标题】:Using UCWA API to schedule Lync meetings使用 UCWA API 安排 Lync 会议
【发布时间】: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 是否有原因?

标签: c# lync ucwa


【解决方案1】:

除了提到的负载格式规范不一致之外,您的代码/负载几乎没有错误。

例如,expirationTime 信息也必须在有效负载正文中提供,而不是作为请求标头的一部分。 此外,attendeesleaders 应该是数组。

我建议您仔细阅读并实施
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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多