Добавление пользовательских данных в ресурсы user с помощью открытых расширений

В этой статье показано, как использовать открытые расширения.

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

Для этого сценария в этой статье показано, как:

  1. добавить открытое расширение, представляющее данные перемещаемого профиля пользователя;
  2. запросить данные у пользователя и вернуть перемещаемый профиль;
  3. изменить данные перемещаемого профиля пользователя (значение открытого расширения);
  4. удалить данные перемещаемого профиля пользователя.

Примечание.

Помимо пользователей, поддерживаются и открытые расширения, которыми можно управлять для других типов ресурсов.

1. Добавление данных перемещаемого профиля

Пользователь входит в приложение и настраивает его внешний вид. Эти параметры приложения должны перемещаться, чтобы интерфейс выглядел одинаково на любом устройстве. Приложение вызывает Microsoft Graph, выполнив следующий запрос, чтобы добавить данные перемещаемого профиля в ресурс пользователя.

Запрос

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

{
    "@odata.type":"microsoft.graph.openTypeExtension",
    "extensionName":"com.contoso.roamingSettings",
    "theme":"dark",
    "color":"purple",
    "lang":"Japanese"
}

Отклик

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

{
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "extensionName": "com.contoso.roamingSettings",
    "id": "com.contoso.roamingSettings",
    "theme": "dark",
    "color": "purple",
    "lang": "Japanese"
}

2. Получение данных перемещаемого профиля

Когда пользователь входит в приложение с другого устройства, приложение вызывает Microsoft Graph, чтобы получить сведения о профиле пользователя и развернуть свойство навигации расширений , чтобы получить параметры перемещения.

Запрос

GET https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,mobilePhone&$expand=extensions

Отклик

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

{
    "id": "84b80893-8749-40a3-97b7-68513b600544",
    "displayName": "John Smith",
    "mail": "john@contoso.com",
    "mobilePhone": "1-555-6589",
    "extensions": [
        {
            "@odata.type": "#microsoft.graph.openTypeExtension",
            "extensionName": "com.contoso.roamingSettings",
            "id": "com.contoso.roamingSettings",
            "theme": "dark",
            "color": "purple",
            "lang": "Japanese"
        }
    ]
}

3. Изменение данных перемещаемого профиля

Пользователь может изменить сведения о перемещаемом профиле. Приложение вызывает Microsoft Graph, выполнив следующий запрос.

Запрос

PATCH https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings
Content-type: application/json

{
    "theme":"light",
    "color":"yellow",
    "lang":"Swahili"
}

Отклик

HTTP/1.1 204 No content

4. Удаление перемещаемого профиля пользователя

Пользователь решает, что ему больше не нужен перемещаемый профиль, поэтому он удаляет его, и приложение вызывает Microsoft Graph, выполнив следующий запрос.

Запрос

DELETE https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings

Отклик

HTTP/1.1 204 No content

См. также