Hinzufügen von benutzerdefinierten Daten zu Benutzern mithilfe offener Erweiterungen

In diesem Artikel werden Sie durch ein Beispiel geführt, um die Verwendung offener Erweiterungen zu veranschaulichen.

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.

In diesem Artikel wird gezeigt, wie Sie Folgendes ausführen:

  1. Hinzufügen einer offenen Erweiterung, die einige Roamingprofilinformationen über den Benutzer darstellt.
  2. Abfragen des Benutzers und Zurückgeben des Roamingprofils.
  3. Ändern der Roamingprofilinformationen des Benutzers (der Wert der offenen Erweiterung).
  4. Löschen der Roamingprofilinformationen des Benutzers.

Hinweis: In diesem Thema wird gezeigt, wie offene Erweiterungen in einer user-Ressource hinzugefügt, gelesen, aktualisiert und gelöscht werden. Diese Methoden werden auch bei den Ressourcentypen administrativeUnit, contact, device, event, group, organizaton, post, todoTask und todoTaskList unterstützt.
Sie können die Anforderungsbeispiele mit jedem dieser Ressourcentypen aktualisieren. Die in den Beispielen dargestellten Antworten können zur Lesbarkeit gekürzt sein.

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. Hier sehen Sie, wie die Roamingprofilinformationen zu einer Benutzerressource hinzugefügt werden.

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.type": "#microsoft.graph.openTypeExtension",
    "extensionName": "com.contoso.roamingSettings",
    "id": "com.contoso.roamingSettings",
    "theme": "dark",
    "color": "purple",
    "lang": "Japanese"
}

2. Abrufen von Roamingprofilinformationen

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.

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

{
    "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.

3. Ändern der Roamingprofilinformationen

Der Benutzer kann seine Roamingprofilinformationen ändern. Diese Aktualisierung kann über eine PATCH im Wert der offenen Erweiterung erfolgen.

Anforderung

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

Antwort

HTTP/1.1 204 No content

4. Löschen der Roamingprofilinformationen eines Benutzers

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.

Anforderung

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

Antwort

HTTP/1.1 204 No content

Siehe auch