Hinzufügen von benutzerdefinierten Daten zu Benutzern mithilfe offener ErweiterungenAdd custom data to users using open extensions

Sie werden durch ein Beispiel geführt, um die Verwendung offener Erweiterungen zu veranschaulichen.We're going to walk you through an example to demonstrate how to use open extensions.

Angenommen, Sie erstellen eine Anwendung, die auf vielen verschiedenen Clientplattformen, z. B. Desktop und Mobil, verfügbar ist. Sie möchten zulassen, dass Benutzer ihre eigene Benutzeroberfläche konfigurieren, damit diese konsistent ist, unabhängig davon, mit welchem Gerät sie sich bei der App anmelden. Dies ist eine allgemeine Anforderung für die meisten Apps.Imagine you're building an application that is available on lots of different client platforms, such as desktop and mobile. You want to let users configure their UI experience so it’s consistent no matter which device they use to sign in to your app. This is a common requirement for most apps.

In diesem Szenario erlernen Sie Folgendes:For this scenario, we're going to show you how to:

  1. Hinzufügen einer offenen Erweiterung, die einige Roamingprofilinformationen über den Benutzer darstellt.Add an open extension representing some roaming profile information about the user.
  2. Abfragen des Benutzers und Zurückgeben des Roamingprofils.Query the user and return the roaming profile.
  3. Ändern der Roamingprofilinformationen des Benutzers (der Wert der offenen Erweiterung).Change the user's roaming profile information (the open extension value).
  4. Löschen der Roamingprofilinformationen des Benutzers.Delete the user's roaming profile information.

Hinweis: In diesem Thema wird gezeigt, wie offenen Erweiterungen in einer user-Ressource hinzugefügt, gelesen, aktualisiert und gelöscht werden. Diese Methoden werden auch für die Ressourcentypen administrativeUnit, contact, device, event, group, group event, group post und organizaton unterstützt.Note: This topic shows you how to add, read, update and delete open extensions on a user resource. These methods are also supported for the administrativeUnit, contact, device, event, group, group event, group post and organizaton resource types.
Aktualisieren Sie einfach die Beispielanforderungen unter Verwendung dieser Ressourcentypen. Die in den Beispielen dargestellten Antworten sind aus Platzgründen möglicherweise abgeschnitten.Simply update the example requests below using any of those resource types. The responses shown in the examples below may be truncated for brevity.

1. Hinzufügen von Roamingprofilinformationen1. Add roaming profile information

Der Benutzer meldet sich bei der App an und konfiguriert das Aussehen und Verhalten der App. Diese App-Einstellungen sind roamingfähig, der Benutzer erhält also dieselbe Oberfläche, ganz gleich, mit welchem Gerät er sich bei der App anmeldet. Hier sehen Sie, wie die Roamingprofilinformationen zu einer Benutzerressource hinzugefügt werden.The user signs in to the app and configures the look and feel of the app. These app settings should roam so that the user gets the same experience on whatever device they sign in to the app from. Here we'll see how to add the roaming profile information to a user resource.

AnforderungRequest
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"
}
AntwortResponse
HTTP/1.1 201 Created
Content-Type: application/json
Content-length: 420

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

2. Abrufen von Roamingprofilinformationen2. Retrieve roaming profile information

Wenn sich der Benutzer von einem anderen Gerät aus bei der App anmeldet, kann die App die Profildetails des Benutzers und auch die Roamingeinstellungen abrufen. Dies kann durch Abrufen der Benutzerressource und Erweitern der Erweiterungsnavigationseigenschaft erfolgen.When the user signs in to the app from another device, the app can retrieve the user's profile details as well as their roaming settings. This can be done by getting the user's resource and expanding the extension navigation property.

AnforderungRequest
GET https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,mobilePhone&$expand=extensions
AntwortResponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-length: 420

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

Hinweis: Wenn Sie mehrere Erweiterungen haben, können Sie nach der ID filtern, um die gewünschte Erweiterung zu erhalten.Note: If you have multiple extensions, you can filter on the id to get the extension that you are interested in.

3. Ändern der Roamingprofilinformationen3. Change roaming profile information

Der Benutzer kann seine Roamingprofilinformationen ändern. Diese Aktualisierung kann über eine PATCH im Wert der offenen Erweiterung erfolgen.The user may choose to change their roaming profile information. This update can be done with a PATCH on the open extension value.

AnforderungRequest
PATCH https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings
Content-type: application/json
{
    "theme":"light",
    "color":"yellow",
    "lang":"Swahili"
}
AntwortResponse
HTTP/1.1 204 No content

4. Löschen der Roamingprofilinformationen eines Benutzers4. Delete a user's roaming profile

Der Benutzer entscheidet, dass er kein Roamingprofil mehr benötigt, und löscht es. Dies kann über eine DELETE-Anforderung im Wert der offenen Erweiterung erfolgen.The user decides that they don't want a roaming profile anymore, so they delete it. This can be done with a DELETE request on the open extension value.

AnforderungRequest
DELETE https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings
AntwortResponse
HTTP/1.1 204 No content

Weitere ArtikelSee also