【问题标题】:Unknown error while using Microsoft Graph Communication API使用 Microsoft Graph 通信 API 时出现未知错误
【发布时间】:2020-06-11 06:59:22
【问题描述】:

我们正在尝试使用Microsoft Graph Communication APIs 以便基于Create Call using Communication API 进行点对点调用

根据我们尝试使用Graph Explorernode.js 示例触发相同查询时的请求负载,我们确实得到了相同的错误

{
    "error": {
        "code": "UnknownError",
        "message": "",
        "innerError": {
            "request-id": "9342e7a0-2d26-4e59-b7f4-c89a4a52e2d5",
            "date": "2020-06-11T06:47:03"
        }
    }
}

到目前为止,我们已经在Microsoft Azure 之上的App Registration 下创建了应用程序,并为Graph Api Calling 分配了所需的权限

我们正在使用的创建调用的请求负载基于 Microsoft 自己提供的 Create Call Sample Request

{
    "@odata.type": "#microsoft.graph.call",
    "callbackUri": "http://localhost:31544/",
    "targets": [{
      "@odata.type": "#microsoft.graph.invitationParticipantInfo",
      "countryCode": "91",
      "identity": {
        "@odata.type": "#microsoft.graph.identitySet",
        "user": {
          "@odata.type": "#microsoft.graph.identity",
          "displayName": "Maggie",
          "tenantId": "150d7f46-ce04-4895-b4bd-1112221122",
          "id": "a27c62fb-a420-4fa5-87eb-2221112121"
        }
      }
    }],
    "requestedModalities": ["audio"],
    "mediaConfig": {
      "@odata.type": "#microsoft.graph.serviceHostedMediaConfig"
    }
  }

不确定负载或 URL 有什么问题,因为我们每次执行请求时都会收到 404 unknown error

编辑

  1. 我现在已授予所有必需的权限

  1. 然后我尝试调用以下 URL 以获得管理员同意

    https://login.microsoftonline.com/common/adminconsent

  1. 之后我尝试在 POSTMAN 中调用以下 URL 来获取令牌

    https://login.microsoftonline.com/{{TenantID}}/oauth2/v2.0/token

  2. 使用相同的token拨打电话却报同样的错误

    https://graph.microsoft.com/beta/me/communications/calls

编辑

  1. 现在调用以下 URL 后,我确实在 POSTMAN 中收到错误

    https://graph.microsoft.com/beta/communications/calls

错误

{
  "error": {
    "code": "UnknownError",
    "message": "{\"errorCode\":\"7503\",\"message\":\"Application is not registered in our store.\",\"instanceAnnotations\":[]}",
    "innerError": {
      "date": "2020-06-12T16:11:47",
      "request-id": "d25c41fd-afc4-462b-a811-46e7286a0df6"
    }
  }
}

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api azure-ad-graph-api microsoft-graph-teams


    【解决方案1】:

    doc开始,不支持Delegated权限,只支持Application权限,所以需要使用client credential flow获取token和调用 API(例如使用邮递员)而不是使用 Microsoft Graph Explorer,在 Microsoft Graph Explorer 中,应用程序权限将不会生效。

    另外,我注意到您没有在您的 AD 应用程序的API permission 页面中单击Grant admin consent for xxx 按钮,当您为您的应用程序授予权限时需要它,状态应该如下所示。

    【讨论】:

    • @Hunt 请求的url应该是https://graph.microsoft.com/beta/communications/calls,不要使用/me。另外,解码jwt.io中的token,查看roles中是否包含权限,比如i.stack.imgur.com/HoCTf.png
    • 我已经解码了令牌,我可以在那里看到权限,但是在调用服务时我遇到了一个新错误,请参阅编辑(第 5 步)
    • @Hunt 你需要先注册调用机器人,docs.microsoft.com/en-us/microsoftteams/platform/bots/…
    • @Hunt 如果我的回复有帮助,请采纳,谢谢。
    • 今天我将创建非应用程序并让您知道,因为我不知道为什么我们需要创建机器人应用程序来将团队的用户 A 与用户 B 沟通?你有什么想法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2020-04-27
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多