Hinzufügen von benutzerdefinierten Daten zu Benutzern mithilfe offener Erweiterungen

In diesem Tutorial erfahren Sie, wie Sie offene Erweiterungen verwenden.

Stellen Sie sich vor, Sie erstellen eine Anwendung, die auf mehreren Clientplattformen verfügbar ist, z. B. desktop- und mobil. Sie möchten es Benutzern ermöglichen, ihre Benutzeroberfläche so zu konfigurieren, dass sie konsistent ist, unabhängig davon, welches Gerät sie für die Anmeldung bei Ihrer App verwenden.

Für dieses Szenario wird in diesem Artikel Folgendes beschrieben:

  • Stellen Einige Roamingprofilinformationen über den Benutzer mithilfe von offenen Erweiterungen dar.
  • Abfragen des Benutzers und Zurückgeben des Roamingprofils.
  • Ändern Sie die Roamingprofilinformationen des Benutzers, die in der geöffneten Erweiterung gespeichert sind.
  • Löschen der Roamingprofilinformationen des Benutzers.

Hinweis

Neben Benutzern werden auch offene Erweiterungen unterstützt und können für andere Ressourcentypen verwaltet werden.

Voraussetzungen

Um die Schritte in diesem Artikel zu reproduzieren, benötigen Sie die folgenden Berechtigungen:

  • Melden Sie sich bei einem API-Client wie Graph Explorer und dem Benutzer an, für den Sie das Roamingprofil speichern möchten.
  • Erteilen Sie der App die delegierte Berechtigung User.ReadWrite für den angemeldeten Benutzer.

Schritt 1. Hinzufügen von Roamingprofilinformationen

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. Die App ruft Microsoft Graph auf, indem sie die folgende Anforderung ausführt, um die Roamingprofilinformationen zum Ressourcenobjekt des angemeldeten Benutzers hinzuzufügen.

Anforderung

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

Antwort

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('376bdbfc-e41f-4082-a8cf-b31731465eeb')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "extensionName": "com.contoso.roamingSettings",
    "theme": "dark",
    "color": "purple",
    "lang": "Japanese",
    "id": "com.contoso.roamingSettings"
}

Schritt 2. Abrufen von Roamingprofilinformationen

Wenn sich der Benutzer von einem anderen Gerät aus bei der App anmeldet, ruft die App Microsoft Graph auf, um die Profildetails des Benutzers abzurufen und die Erweiterungsnavigationseigenschaft zu erweitern, um die Roamingeinstellungen abzurufen. Anschließend werden diese Daten verwendet, um die gleiche Benutzererfahrung wie auf dem anderen Gerät bereitzustellen.

Anforderung

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

Antwort

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,displayName,mail,mobilePhone,extensions())/$entity",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me?$select=signInActivity,accountEnabled",
    "id": "376bdbfc-e41f-4082-a8cf-b31731465eeb",
    "displayName": "Raul Razo",
    "mail": null,
    "mobilePhone": null,
    "extensions@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('376bdbfc-e41f-4082-a8cf-b31731465eeb')/extensions",
    "extensions": [
        {
            "@odata.type": "#microsoft.graph.openTypeExtension",
            "extensionName": "com.contoso.roamingSettings",
            "theme": "dark",
            "color": "purple",
            "lang": "Japanese",
            "id": "com.contoso.roamingSettings"
        }
    ]
}

Schritt 3: Ändern von Roamingprofilinformationen

Der Benutzer kann seine Roamingprofilinformationen ändern. Die App ruft Microsoft Graph auf, indem die folgende Abfrage ausgeführt wird. Die Anforderung gibt einen 204 No Content Antwortcode zurück.

Sie müssen auch alle Eigenschaften in den Anforderungstext einschließen, auch wenn Sie nur eine Teilmenge davon aktualisieren möchten. Andernfalls entfernt Microsoft Graph die Eigenschaften, die Sie nicht übergeben. Um Daten zu löschen, aber eine Eigenschaft beizubehalten, legen Sie den Eigenschaftswert auf fest null.

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

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

Schritt 4. Löschen des Roamingprofils eines Benutzers

Der Benutzer entscheidet, dass er kein Roamingprofil mehr möchte. Um die Erweiterungseigenschaft zu löschen, ruft die App Microsoft Graph auf, indem sie die folgende Anforderung ausführt. Die Anforderung gibt einen 204 No Content Antwortcode zurück.

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