Freigeben über


Offene Erweiterung aktualisieren

Namespace: microsoft.graph

Aktualisieren Sie eine offene Erweiterung (openTypeExtension-Objekt ) für einen unterstützten Ressourcentyp.

  • Wenn eine Eigenschaft im Anforderungsheader mit dem Name einer vorhandenen Eigenschaft in der Erweiterung übereinstimmt, werden die Daten in die Erweiterung aktualisiert.
  • Andernfalls werden diese Eigenschaft und ihre Daten der Erweiterung hinzugefügt.

Die Daten in einer Erweiterung können primitive Typen oder Arrays von primitiven Typen sein.

Die Liste der Ressourcen, die offene Erweiterungen unterstützen, finden Sie in der Tabelle im Abschnitt Berechtigungen .

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Abhängig von der Ressource, in der die Erweiterung erstellt wurde, und dem angeforderten Berechtigungstyp (delegiert oder Anwendung), ist die in der folgenden Tabelle angegebene Berechtigung die geringsten Berechtigungen, die zum Aufrufen dieser API erforderlich sind. Um mehr zu erfahren und vor der Wahl weiterer privilegierterer Berechtigungen mit Umsicht vorzugehen, suchen Sie unter Berechtigungen nach den folgenden Berechtigungen.

Unterstützte Ressource Delegiert (Geschäfts-, Schul- oder Unikonto) Delegiert (persönliches Microsoft-Konto) Application
device Directory.AccessAsUser.All Nicht unterstützt Device.ReadWrite.All
event Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
group Group.ReadWrite.All Nicht unterstützt Group.ReadWrite.All
group event Group.ReadWrite.All Nicht unterstützt Nicht unterstützt
group post Group.ReadWrite.All Nicht unterstützt Group.ReadWrite.All
message Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite
organization Organization.ReadWrite.All Nicht unterstützt Organization.ReadWrite.All
personal contact Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
todoTask Tasks.ReadWrite Tasks.ReadWrite Tasks.ReadWrite.All
todoTaskList Tasks.ReadWrite Tasks.ReadWrite Tasks.ReadWrite.All
user User.ReadWrite User.ReadWrite User.ReadWrite.All

HTTP-Anforderung

In der Anforderung geben Sie die Ressourceninstanz an, spezifizieren in der Navigationseigenschaft extensions dieser Instanz die Erweiterung und wenden anschließend den Befehl PATCH auf diese Erweiterungsinstanz an.

PATCH /devices/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/extensions/{extensionId}
PATCH /groups/{id}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
PATCH /organization/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/extensions/{extensionId}
PATCH /users/me/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/me/todo/lists/{todoTaskListId}/extensions/{extensionId}

Hinweis: Die obige Syntax zeigt mehrere häufig verwendete Möglichkeiten zum Identifizieren einer Ressourceninstanz, um eine Erweiterung darin zu aktualisieren. Alle anderen Syntaxen, mit denen Sie diese Ressourceninstanzen identifizieren können, unterstützen das Aktualisieren offener Erweiterungen darin in einer ähnlichen Weise.

Im Abschnitt Anforderungstext wird beschrieben, wie Sie benutzerdefinierte Daten zur Änderung oder Ergänzung der Erweiterung in den Anforderungstext einschließen können.

Anforderungsheader

Name Wert
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-Type application/json

Anforderungstext

Geben Sie im Anforderungstext nur die Werte für die Eigenschaften an, die aktualisiert werden sollen. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.

In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.

Stellen Sie den JSON-Text eines openTypeExtension-Objekts mit den folgenden erforderlichen Name-Wert-Paaren und allen benutzerdefinierten Daten bereit, die geändert oder zu dieser Erweiterung hinzugefügt werden sollen.

Eigenschaft Typ Beschreibung
@odata.type Zeichenfolge Muss #microsoft.graph.openTypeExtension sein. Erforderlich.
extensionName String Erforderlich, wenn die ID nicht angegeben wird. Aktualisierbar.
id Zeichenfolge Erforderlich, wenn die ID nicht angegeben wird. Schreibgeschützt.

Für Ressourcen, die Verzeichnisobjekte (Microsoft Entra ID) sind:

  • Um eine beliebige Eigenschaft im offenen Erweiterungsobjekt zu aktualisieren, müssen Sie alle Eigenschaften im Anforderungstext angeben. Andernfalls löscht Microsoft Graph die nicht angegebenen Eigenschaften.
  • Um Daten aus einer Eigenschaft im geöffneten Erweiterungsobjekt zu löschen, aber die Eigenschaft beizubehalten, legen Sie ihren Wert auf fest null.
  • Um eine Eigenschaft aus dem geöffneten Erweiterungsobjekt zu löschen, übergeben Sie sie nicht im PATCH-Anforderungstext, und Microsoft Graph löscht sie.
  • Um Daten aus allen Eigenschaften im geöffneten Erweiterungsobjekt zu löschen, aber das geöffnete Erweiterungsobjekt beizubehalten, aktualisieren Sie die Werte aller Eigenschaften in null.

Für Microsoft 365-Ressourcen wie Nachrichten:

  • Sie können eine Teilmenge der Eigenschaften im Anforderungstext angeben, um sie zu aktualisieren. Die ausgelassenen Eigenschaften und ihre Werte werden beibehalten.
  • null -Werte sind nicht zulässig.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 204 No Content Antwortcode für Verzeichnisobjekte oder einen 200 OK Antwortcode und ein aktualisiertes openTypeExtension-Objekt für andere Ressourcen zurück.

Beispiel

Anforderung 1

Im ersten Beispiel wird gezeigt, wie eine Erweiterung in einer Nachricht aktualisiert wird. Die Erweiterung wird anfänglich durch die folgende JSON-Nutzlast dargestellt:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
    "extensionName": "Com.Contoso.Referral",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
    "companyName": "Wingtip Toys",
    "dealValue": 500050,
    "expirationDate": "2015-12-03T10:00:00Z"
}

Sie können anhand des Namens auf die Erweiterung verweisen:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral

Sie können auch anhand des vollqualifizierten Namens auf die Erweiterung verweisen:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral

Sie können die Beispielanforderung und den folgenden Anforderungstext verwenden, um die oben genannte Erweiterung auf folgende Weise zu aktualisieren:

  • Durch Ändern des companyName von Wingtip Toys zu Wingtip Toys (USA)
  • Durch Ändern des dealValue von 500050 zu 500100
  • Durch Hinzufügen neuer Daten als die benutzerdefinierte updated-Eigenschaft
{
    "@odata.type": "microsoft.graph.openTypeExtension",
    "extensionName": "Com.Contoso.Referral",
    "companyName": "Wingtip Toys (USA)",
    "dealValue": "500100",
    "expirationDate": "2015-12-03T10:00:00.000Z",
    "updated": "2015-10-29T11:00:00.000Z"
} 

Antwort 1

Es wird unabhängig von der zur Referenzierung der Erweiterung verwendeten Methode jeweils die gleiche Antwort zurückgegeben.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
    "extensionName": "Com.Contoso.Referral",
    "companyName": "Wingtip Toys (USA)",
    "dealValue": 500100,
    "expirationDate": "2015-12-03T10:00:00Z",
    "updated": "2015-10-29T11:00:00.000Z"
}

Anforderung 2

Im zweiten Beispiel wird gezeigt, wie eine Erweiterung in einem Gruppenbeitrag aktualisiert wird. Die Erweiterung wird anfänglich durch die folgende JSON-Nutzlast mit einem expirationDate-Wert von 2015-07-03T13:04:00Z dargestellt:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
    "extensionName": "Com.Contoso.Estimate",
    "companyName": "Contoso",
    "expirationDate": "2015-07-03T13:04:00Z",
    "DealValue": 1010100,
    "Strings@odata.type": "#Collection(String)",
    "topPicks": [
        "Employees only",
        "Add spouse or guest",
        "Add family"
    ]
}

Im Folgenden werden die Anforderung und Anforderungstext zum Ändern von expirationDate zu 2016-07-30T11:00:00Z dargestellt:

PATCH https://graph.microsoft.com/v1.0/groups/37df2ff0-0de0-4c33-8aee-75289364aef6/threads/AAQkADJizZJpEWwqDHsEpV_KA==/posts/AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA=/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate
Content-type: application/json

{
   "@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
   "extensionName": "Com.Contoso.Estimate",
   "companyName": "Contoso",
   "expirationDate": "2016-07-30T11:00:00.000Z",
   "DealValue": 1010100,
   "topPicks": [
       "Employees only",
       "Add spouse or guest",
       "Add family"
    ]
}

Antwort 2

Im Folgenden wird die Antwort des zweiten Beispiels dargestellt, welche das aktualisierte expirationDate-Element in die Erweiterung zeigt.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
    "extensionName": "Com.Contoso.Estimate",
    "companyName": "Contoso",
    "expirationDate": "2016-07-30T11:00:00Z",
    "DealValue": 1010100,
    "Strings@odata.type": "#Collection(String)",
    "topPicks": [
        "Employees only",
        "Add spouse or guest",
        "Add family"
    ]
}