如何允许 Microsoft Team 与会者以编程方式绕过大厅 (Microsoft Graph)
How to allow Microsoft Team attendees to bypass lobby programatically (Microsoft Graph)
我使用日历 API 在日历上创建了一个事件,这反过来又会在响应中为我提供 link 的 Microsoft 团队会议 link。这是我在创建事件时发送的示例数据。另外,我将此 API 称为应用程序而不是用户,所以基本上所有 3 位与会者都不属于 AD 用户。
{
"attendees": [
{
"type": "required",
"emailAddress": {
"address": "attendee1@domain.com",
"name": "Attendee 1"
}
},
{
"type": "required",
"emailAddress": {
"address": "attendee2@domain.com",
"name": "Attendee 2"
}
},
{
"type": "required",
"emailAddress": {
"address": "attendee3@domain.com",
"name": "Attendee 3"
}
}
],
"end": {
"dateTime": "2020-11-13T17:32:39.636Z",
"timeZone": "UTC"
},
"start": {
"dateTime": "2020-11-11T16:32:39.636Z",
"timeZone": "UTC"
},
"subject": "My online meeting",
"isOnlineMeeting": true,
"body": {
"content": "Does this time work for you?",
"contentType": "HTML"
},
"onlineMeetingProvider": "teamsForBusiness",
"allowNewTimeProposals": false
}
在回复中,我收到了这样的信息:
...
"onlineMeeting": {
"joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzRmMDIwMWEtNGYyZS00MmNkLTk3NTAtOGxxxxkOGQ4ZDUx%40thread.v2/0?context=%7b%22Tid%22%3a%22b82fec80-bee7-401e-xxxx-8a312e0a62d1%22%2c%22Oid%22%3a%22112d58ba-xxxx-47ce-a1a8-3d0abebead18%22%7d"
}
...
我现在的问题是 none 的与会者可以开始会议。我想知道在我创建活动或更新在线会议时是否有一种编程方式,使与会者能够绕过大厅并开始会议。
根据您的参数,我认为您使用日历事件 api 创建了一个在线会议。
我也试过了,发现参会者需要权限才能进入会议室,创建者可以直接进入。我用谷歌搜索并发现 没有图表 api 可以修改此配置 。 唯一的方法让每个与会者在未经许可的情况下加入会议是将会议选项更改为“每个人都可以绕过大厅”
顺便说一下,管理员角色帐户可以登录 Microsoft 团队管理中心 并自动允许您组织中的人员绕过大厅。这个document说的很详细
实际上,我使用 Fiddler 来捕获更改选项请求并获得了一个 url 就像 https://teams.microsoft.com/api/mt/amer/beta/meetings/v1/options/....
和一个访问令牌。我可以使用它们通过发送 http post 请求成功更改选项。一切似乎都会出现答案,但不幸的是,在分析访问令牌后,我发现 api 需要权限 https://api.spaces.skype.com
,Azure 广告不支持该权限。
我使用日历 API 在日历上创建了一个事件,这反过来又会在响应中为我提供 link 的 Microsoft 团队会议 link。这是我在创建事件时发送的示例数据。另外,我将此 API 称为应用程序而不是用户,所以基本上所有 3 位与会者都不属于 AD 用户。
{
"attendees": [
{
"type": "required",
"emailAddress": {
"address": "attendee1@domain.com",
"name": "Attendee 1"
}
},
{
"type": "required",
"emailAddress": {
"address": "attendee2@domain.com",
"name": "Attendee 2"
}
},
{
"type": "required",
"emailAddress": {
"address": "attendee3@domain.com",
"name": "Attendee 3"
}
}
],
"end": {
"dateTime": "2020-11-13T17:32:39.636Z",
"timeZone": "UTC"
},
"start": {
"dateTime": "2020-11-11T16:32:39.636Z",
"timeZone": "UTC"
},
"subject": "My online meeting",
"isOnlineMeeting": true,
"body": {
"content": "Does this time work for you?",
"contentType": "HTML"
},
"onlineMeetingProvider": "teamsForBusiness",
"allowNewTimeProposals": false
}
在回复中,我收到了这样的信息:
...
"onlineMeeting": {
"joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzRmMDIwMWEtNGYyZS00MmNkLTk3NTAtOGxxxxkOGQ4ZDUx%40thread.v2/0?context=%7b%22Tid%22%3a%22b82fec80-bee7-401e-xxxx-8a312e0a62d1%22%2c%22Oid%22%3a%22112d58ba-xxxx-47ce-a1a8-3d0abebead18%22%7d"
}
...
我现在的问题是 none 的与会者可以开始会议。我想知道在我创建活动或更新在线会议时是否有一种编程方式,使与会者能够绕过大厅并开始会议。
根据您的参数,我认为您使用日历事件 api 创建了一个在线会议。
我也试过了,发现参会者需要权限才能进入会议室,创建者可以直接进入。我用谷歌搜索并发现 没有图表 api 可以修改此配置 。 唯一的方法让每个与会者在未经许可的情况下加入会议是将会议选项更改为“每个人都可以绕过大厅”
顺便说一下,管理员角色帐户可以登录 Microsoft 团队管理中心 并自动允许您组织中的人员绕过大厅。这个document说的很详细
实际上,我使用 Fiddler 来捕获更改选项请求并获得了一个 url 就像 https://teams.microsoft.com/api/mt/amer/beta/meetings/v1/options/....
和一个访问令牌。我可以使用它们通过发送 http post 请求成功更改选项。一切似乎都会出现答案,但不幸的是,在分析访问令牌后,我发现 api 需要权限 https://api.spaces.skype.com
,Azure 广告不支持该权限。