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?
- 任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)
附上我试过的示例代码。当我将相同的 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)创建在线会议。
请确保您已添加所有必需的策略和权限。
我想使用图表 API 向 Gmail 用户(来宾)发送 MS Teams 会议邀请。 我可以将其发送给我组织下的人员或具有 AD 帐户的其他组织。 当我添加 Gmail 用户时,会创建一个会议,但不会向 Gmail 用户发送邀请。 Gmail 垃圾邮件文件夹中也没有任何记录。任何原因或我遗漏了什么。
有一件事注意到 MS Teams 桌面应用程序中的一件事,当我将 Gmail 用户添加到团队时,它要求邀请该用户。当我从 API 使用它时,有什么我应该做的吗?
我注意到的另一件事是,Azure 门户中的身份验证支持帐户类型中有一个设置:
谁可以使用此应用程序或访问此 API?
- 任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)
附上我试过的示例代码。当我将相同的 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)创建在线会议。 请确保您已添加所有必需的策略和权限。