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


user: assignLicense

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

Важно!

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

Добавьте или удалите лицензии для пользователя, чтобы включить или отключить использование облачных предложений Майкрософт, на которые у компании есть лицензии. Например, организация может иметь подписку на Microsoft 365 корпоративный E3 с 100 лицензиями, и этот запрос назначает одну из этих лицензий конкретному пользователю. Вы также можете включать и отключать отдельные планы, связанные с подпиской. Прямое лицензирование пользователей — это альтернатива лицензированию на основе групп.

Чтобы получить подписки, доступные в каталоге, выполните запрос GET subscribedSkus.

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

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

Разрешения

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

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

Важно!

В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением ролиmicrosoft.directory/users/assignLicense. Для этой операции поддерживаются следующие наименее привилегированные роли:

  • Запись каталогов
  • Администратор лицензий
  • Администратор пользователей

HTTP-запрос

POST /users/{id | userPrincipalName}/assignLicense

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

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

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

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

Параметр Тип Описание
addLicenses Коллекция assignedLicense Коллекция объектов assignedLicense, указывающих добавляемые лицензии. Вы можете отключить servicePlans, связанные с лицензией, задав свойство disabledPlans для объекта assignedLicense .
removeLicenses Коллекция объектов Guid Коллекция идентификаторов skuId, которые определяют удаляемые лицензии. Обязательно. Может быть пустой коллекцией.

Отклик

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

Примеры

Пример 1. Назначение лицензий вошедшего пользователя

Запрос

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
    "removeLicenses": []
}

Отклик

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

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

{
  "accountEnabled": true,
  "assignedLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
  "city": "Nairobi",
  "companyName": "Contoso"
}

Пример 2. Удаление лицензий у вошедшего пользователя

Запрос

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [],
    "removeLicenses": [
        "f30db892-07e9-47e9-837c-80727f46fd3d",
        "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
    ]
}

Отклик

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

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

{
  "accountEnabled": true,
  "assignedLicenses": [],
  "city": "Nairobi",
  "companyName": "Contoso"
}