Microsoft Graph API - Microsoft Teams 以 gmail 用户作为与会者创建活动

Microsoft Graph API - Microsoft Teams Create Event with gmail user as attendee

我想使用图表 API 向 Gmail 用户(来宾)发送 MS Teams 会议邀请。 我可以将其发送给我组织下的人员或具有 AD 帐户的其他组织。 当我添加 Gmail 用户时,会创建一个会议,但不会向 Gmail 用户发送邀请。 Gmail 垃圾邮件文件夹中也没有任何记录。任何原因或我遗漏了什么。

有一件事注意到 MS Teams 桌面应用程序中的一件事,当我将 Gmail 用户添加到团队时,它要求邀请该用户。当我从 API 使用它时,有什么我应该做的吗?

我注意到的另一件事是,Azure 门户中的身份验证支持帐户类型中有一个设置:

谁可以使用此应用程序或访问此 API?

附上我试过的示例代码。当我将相同的 AD 或不同的 AD 帐户添加为与会者而不是 Gmail(个人帐户)时,这是有效的

 curl --location --request POST 'https://graph.microsoft.com/v1.0/users/{{userid}}/events' \
--header 'Authorization: Bearer <token>' \
--header 'Prefer: outlook.timezone="Asia/Dubai"' \
--header 'Content-type: application/json' \
--data-raw '{
  "subject": "Let'\''s Meet for Demo",
  "body": {
    "contentType": "HTML",
    "content": "Does noon work for you?"
  },
  "start": {
      "dateTime": "2021-08-27T12:00:00",
      "timeZone": "Asia/Dubai"
  },
  "end": {
      "dateTime": "2021-08-27T13:00:00",
      "timeZone": "Asia/Dubai"
  },
  "location":{
      "displayName":"John'\''s Dev Room"
  },
  "attendees": [    
    {
      "emailAddress": {
        "address":"user1@gmail.com",
        "name": "User1"
      },
      "type": "required"
    }
  ],
  "allowNewTimeProposals": true,
  "isOnlineMeeting": true,
  "onlineMeetingProvider": "teamsForBusiness"
}

邀请将外部用户添加到组织中。邀请用户时,将创建一个用户实体(用户类型为 Guest),现在可用于控制对资源的访问。受邀用户必须通过兑换过程才能访问他受邀访问的任何资源。 您可以按照此 link 创建邀请:https://docs.microsoft.com/en-us/graph/api/invitation-post?view=graph-rest-beta&tabs=http

也如create OnlineMeeting doc, Administrators must create an application access policy中所述,并将其授予用户,授权策略中配置的应用代表该用户(请求路径中指定的用户ID)创建在线会议。 请确保您已添加所有必需的策略和权限。