使用开放扩展向用户添加自定义数据

本文将通过一个示例逐步介绍如何使用 开放扩展

假设你正在构建一个可在许多不同客户端平台(例如桌面和移动设备)上使用的应用程序。你希望让用户配置自己的 UI 体验,这样无论用户使用何种设备登录你的应用都能获得相同的体验。这是对大多数应用的常见要求。

在此情况下,本文将介绍如何:

  1. 添加代表有关用户的一些漫游配置文件信息的开放扩展。
  2. 查询用户并返回漫游配置文件。
  3. 更改用户的漫游配置文件信息(开放扩展值)。
  4. 删除用户的漫游配置文件信息。

注意: 本主题介绍如何在 user 资源上添加、读取、更新和删除开放扩展。administrativeUnitcontactdeviceeventgrouporganizatonposttodoTasktodoTaskList 资源类型也支持这些方法。
可以使用其中任一资源更新请求示例。 示例中显示的响应可能会被缩短以提高可读性。

1.添加漫游配置文件信息

用户登录到应用并配置应用的外观。这些应用设置应可以漫游,这样用户不管从何种设备登录应用都可以获得相同的体验。在这里,我们将了解如何将漫游配置文件信息添加到用户资源。

请求

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.检索漫游配置文件信息

当用户从其他设备登录应用时,该应用可以检索用户配置文件详细信息及其漫游设置。这可以通过获取用户的资源,以及对扩展导航属性进行扩展的方式完成。

请求

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"
        }
    ]
}

注意: 如果你有多个扩展,则可以按 ID 筛选,以获取感兴趣的扩展。

3.更改漫游配置文件信息

用户可以选择更改其漫游配置文件信息。此更新可以通过开放扩展值上的 PATCH 完成。

请求

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.删除用户漫游配置文件

用户决定不再使用漫游配置文件,因此将其删除。这可以通过开放扩展值上的 DELETE 请求完成。

请求

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

响应

HTTP/1.1 204 No content

另请参阅