Создание приглашения

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

Используйте этот API для создания нового приглашения. Приглашение позволяет добавить внешнего пользователя в организацию.

При создании нового приглашения у вас есть несколько вариантов:

  1. При создании приглашения Microsoft Graph может автоматически отправить письмо с приглашением непосредственно приглашению, или ваше приложение может использовать inviteRedeemUrl , возвращенный в ответе, для создания собственного приглашения (с помощью выбранного вами механизма коммуникации) для приглашенного пользователя. Если вы решили, чтобы Microsoft Graph автоматически отправлял приглашение по электронной почте, вы можете указать содержимое и язык сообщения электронной почты с помощью метода invitedUserMessageInfo.
  2. При приглашении пользователя создается сущность пользователя ( userTypeGuest), которую можно использовать для управления доступом к ресурсам. Приглашенный пользователь должен пройти процесс активации, чтобы получить доступ к соответствующим ресурсам.

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

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

Разрешения

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

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

Важно!

Разрешения приложения (только для приложений) не работают, если приглашения B2B отключены в клиенте или если приглашения B2B ограничены администраторами.

HTTP-запрос

POST /invitations

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

Заголовок Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json

Тело запроса

В теле запроса должно быть представление объекта invitation в формате JSON.

В следующей таблице перечислены параметры, необходимые при создании приглашения.

Параметр Тип Описание
invitedUserEmailAddress string Адрес электронной почты пользователя, который вы приглашаете.
inviteRedirectUrl string URL-адрес, на который пользователь перенаправляется после активации.

Отклик

В случае успешного выполнения этот метод возвращает 201 Created код отклика и объект приглашения в тексте отклика.

Пример

Запрос

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

POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json

{
  "invitedUserEmailAddress": "admin@fabrikam.com",
  "inviteRedirectUrl": "https://myapp.contoso.com"
}

Отклик

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

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
    "id": "9071bfde-35e0-47d2-a582-d244ab1b4af6",
    "inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%2f%3ftenant%3d69997834-fa40-45da-xxxx-382c3bdc66c3%26user%3d9071bfde-35e0-47d2-a582-d244ab1b4af6%26ticket%3dwCFIFW%25252frzl2A%25252fpZFZk5fCLJprpDxtcjR8s%25252fo1QZA0yQ%25253d%26ver%3d2.0",
    "invitedUserDisplayName": null,
    "invitedUserType": "Guest",
    "invitedUserEmailAddress": "admin@fabrikam.com",
    "sendInvitationMessage": false,
    "resetRedemption": false,
    "inviteRedirectUrl": "https://myapp.contoso.com",
    "status": "PendingAcceptance",
    "invitedUserMessageInfo": {
        "messageLanguage": null,
        "customizedMessageBody": null,
        "ccRecipients": [
            {
                "emailAddress": {
                    "name": null,
                    "address": null
                }
            }
        ]
    },
    "invitedUser": {
        "id": "cbb896f9-8306-49d0-b56b-b8e39cd28825"
    }
}