使用Microsoft Graph API创建OnlineMeeting时出现禁止403错误

时间:2020-04-18 07:45:19

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

我正在尝试通过https://graph.microsoft.com/beta/communications/onlineMeetings创建在线会议。 最初我收到403 Forbidden错误。然后我在azure上对我的已注册应用程序授予了Delegated和Application权限(OnlineMeetings.ReadWrite,OnlineMeetings.ReadWrite.All)。然后403错误消失了,我得到了新的错误400错误请求(Organizer.Identity.User.Id丢失)。 然后我提供在线会议发帖请求,如下所示:

{
  "startDateTime":"2020-04-20T14:33:30.8546353-07:00",
  "endDateTime":"2020-04-20T15:03:30.8566356-07:00",
  "subject":"Application Token Meeting",
  "participants": {
    "organizer": {
      "identity": {
        "user": {
          "id": "cb6d6636-1c9e-457c-b904-5da8265a8927"
        }
      }
    }
  }
}

再次出现403禁止错误。 我在https://graph.microsoft.com/v1.0/usershttps://graph.microsoft.com/beta/invitations的帮助下创建了用户。 用户是在我的应用程序上创建的,并且获得了权限(User.ReadWrite.All,Directory.ReadWrite.All,Directory.AccessAsUser.All,User.ReadWrite.All,Directory.ReadWrite.All) 但错误(403)不变。

我的问题是如何在Microsoft graph API中授予用户授权。

1 个答案:

答案 0 :(得分:0)

所需的权限是“委派权限”:OnlineMeetings.ReadWrite。参见参考文献here

403错误表示您的访问令牌不包含所需的权限。您可以这样添加它:

enter image description here

别忘了点击“ {您的租户}的授予管理员同意”。

enter image description here

您应实现Get access on behalf of a userget an access token来调用/communications/onlineMeetings端点。

http示例供您参考:

POST https://graph.microsoft.com/beta/communications/onlineMeetings
Content-Type: application/json
Authorization: Bearer {access token}

{
  "startDateTime":"2019-09-09T14:33:30.8546353-07:00",
  "endDateTime":"2019-09-09T15:03:30.8566356-07:00",
  "subject":"Application Token Meeting",
  "participants": {
    "organizer": {
      "identity": {
        "user": {
          "id": "550fae72-d251-43ec-868c-373732c2704f"
        }
      }
    }
  }
}

您可以了解有关Use the access token to call Microsoft Graph的更多详细信息。不要忘记在请求标头中放入Authorization: Bearer {access token}