Поделиться через


channel: doesUserHaveAccess

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Определите, имеет ли пользователь доступ к общему каналу.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) ChannelMember.Read.All ChannelMember.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение ChannelMember.Read.All ChannelMember.ReadWrite.All

HTTP-запрос

GET /teams/{team-id}/channels/{channel-id}/doesUserHaveAccess(userId='@userId',tenantId='@tenantId',userPrincipalName='@userPrincipalName')

Параметры функции

В URL-адресе запроса укажите перечисленные ниже параметры запроса и их значения. В приведенной ниже таблице указаны параметры, которые можно использовать с этой функцией.

Параметр Тип Описание
tenantId String Идентификатор клиента Microsoft Entra, к которому принадлежит пользователь. Значение по умолчанию для этого свойства — текущий идентификатор клиента пользователя или приложения, выполнившего вход.
userId String Уникальный идентификатор пользователя. Укажите свойство userId или userPrincipalName в запросе.
userPrincipalName String Имя участника-пользователя (UPN) пользователя. Укажите свойство userId или userPrincipalName в запросе.

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

Не предоставляйте текст запроса для этой функции.

Отклик

В случае успешного выполнения эта функция возвращает код отклика 200 OK и объект Boolean в теле отклика.

Примеры

Пример 1. Проверка доступа для внутреннего пользователя

В следующем примере показан запрос, который проверяет, имеет ли внутренний пользователь доступ к общему каналу.

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='6285581f-484b-4845-9e01-60667f8b12ae')

Отклик

Ниже показан пример отклика.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

Пример 2. Проверка доступа для гостя

В следующем примере показан запрос, который использует свойство tenantId для проверка, имеет ли гость доступ к общему каналу.

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='62855810-484b-4823-9e01-60667f8b12ae', tenantId='57fb72d0-d811-46f4-8947-305e6072eaa5')

Отклик

Ниже показан пример отклика.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

Пример 3. Проверка доступа пользователя для пользователя с помощью имени участника-пользователя

В следующем примере показан запрос, который использует свойство userPrincipalName для проверка, имеет ли внутренний пользователь доступ к общему каналу.

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userPrincipalName='john.doe@contoso.com')

Отклик

Ниже приводится пример отклика.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": false
}