Anwendung "Upsert"

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie ein neues Anwendungsobjekt , falls es nicht vorhanden ist, oder aktualisieren Sie die Eigenschaften eines vorhandenen Anwendungsobjekts .

Diese API kann auch ein agentIdentityBlueprint-Objekt aus einem agentIdentityBlueprint erstellen, falls dieses nicht vorhanden ist, oder Eigenschaften eines vorhandenen agentIdentityBlueprint aktualisieren, wenn die @odata.type-Eigenschaft auf #microsoft.graph.agentIdentityBlueprintfestgelegt ist.

Wichtig

Die Verwendung von PATCH zum Festlegen vob passwordCredential wird nicht unterstützt. Verwenden Sie die addPassword - und removePassword-Methoden , um das Kennwort oder den geheimen Schlüssel für eine Anwendung zu aktualisieren.

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

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Application.ReadWrite.All Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Application.ReadWrite.All Nicht verfügbar.
Application Application.ReadWrite.OwnedBy Application.ReadWrite.All

Wichtig

Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss dem Administrator eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen erteilt. Dieser Vorgang unterstützt die folgenden integrierten Rollen, die nur die geringstmöglichen Berechtigungen gewähren:

  • Ein Nicht-Administratormitglied oder ein Gast, der über Standardbenutzerberechtigungen verfügt, es sei denn, der Mandantenadministrator hat den Zugriff eingeschränkt.
  • Anwendungsentwickler. Mit dieser Rolle können Apps auch dann erstellt werden, wenn der Administrator den Zugriff auf Mitglieder und Gäste eingeschränkt hat. Dem Prinzipal mit dieser Rolle wird der Besitz der App zugewiesen, die er erstellt.
  • Directory Writers. Mit dieser Rolle können Erweiterungseigenschaften aktualisiert werden.
  • Administrator für Hybrididentitäten. Mit dieser Rolle können nur grundlegende Eigenschaften aktualisiert werden.
  • Sicherheitsadministrator
  • Cloudanwendungsadministrator
  • Anwendungsadministrator

In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten werden die folgenden Berechtigungen für die Verwaltung von Agentidentitäts-Blaupausen unterstützt:

  • Der angemeldete Benutzer ist der Besitzer oder
  • Dem angemeldeten Benutzer wird die Rolle " Agent-ID-Administrator" zugewiesen.

HTTP-Anforderung

Geben Sie zum Erstellen oder Aktualisieren einer Anwendung den vom Client bereitgestellten alternativen Schlüssel uniqueName an.

PATCH /applications(uniqueName='{uniqueName}')

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.
Prefer create-if-missing. Erforderlich für Upsert-Verhalten, andernfalls wird die Anforderung als Update-Vorgang behandelt.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des Anwendungsobjekts an. Der Anforderungstext muss displayName enthalten, eine erforderliche Eigenschaft. Geben Sie nach Bedarf für Ihre Anwendung, zum Erstellen oder Aktualisieren weitere beschreibbare Eigenschaften an.

Antwort

Wenn keine Anwendung oder ein agentIdentityBlueprint-Objekt mit uniqueName vorhanden ist, gibt diese Methode einen 201 Created Antwortcode und eine neue Anwendung oder ein agentIdentityBlueprint-Objekt zurück, dem der uniqueName-Wert im Antworttext zugewiesen ist.

Wenn keine Anwendung oder ein agentIdentityBlueprint-Objekt mit uniqueName vorhanden ist und der Prefer: create-if-missing Header nicht angegeben ist, gibt diese Methode einen 404 Not Found Fehlercode zurück.

Wenn bereits eine Anwendung oder ein agentIdentityBlueprint-Objekt mit uniqueName vorhanden ist, aktualisiert diese Methode das application - oder agentIdentityBlueprint-Objekt und gibt einen 204 No Content Antwortcode zurück.

Beispiele

Beispiel 1: Erstellen einer neuen Anwendung, wenn sie nicht vorhanden ist

Im folgenden Beispiel wird eine Anwendung erstellt, da keine Anwendung mit dem angegebenen Wert "uniqueName" vorhanden ist.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
  "displayName": "Display name"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications/$entity",
    "id": "03ef14b0-ca33-4840-8f4f-d6e91916010e",
    "deletedDateTime": null,
    "isFallbackPublicClient": null,
    "appId": "631a96bc-a705-4eda-9f99-fdaf9f54f6a2",
    "applicationTemplateId": null,
    "identifierUris": [],
    "createdDateTime": "2019-09-17T19:10:35.2742618Z",
    "displayName": "Display name",
    "isDeviceOnlyAuthSupported": null,
    "groupMembershipClaims": null,
    "optionalClaims": null,
    "addIns": [],
    "publisherDomain": "contoso.onmicrosoft.com",
    "samlMetadataUrl": "https://graph.microsoft.com/2h5hjaj542de/app",
    "signInAudience": "AzureADandPersonalMicrosoftAccount",
    "tags": [],
    "tokenEncryptionKeyId": null,
    "api": {
        "requestedAccessTokenVersion": 2,
        "acceptMappedClaims": null,
        "knownClientApplications": [],
        "oauth2PermissionScopes": [],
        "preAuthorizedApplications": []
    },
    "appRoles": [],
    "publicClient": {
        "redirectUris": []
    },
    "info": {
        "termsOfServiceUrl": null,
        "supportUrl": null,
        "privacyStatementUrl": null,
        "marketingUrl": null,
        "logoUrl": null
    },
    "keyCredentials": [],
    "parentalControlSettings": {
        "countriesBlockedForMinors": [],
        "legalAgeGroupRule": "Allow"
    },
    "passwordCredentials": [],
    "requiredResourceAccess": [],
    "uniqueName": "app-65278",
    "web": {
        "redirectUris": [],
        "homePageUrl": null,
        "logoutUrl": null,
        "implicitGrantSettings": {
            "enableIdTokenIssuance": false,
            "enableAccessTokenIssuance": false
        }
    }, 
    "windows" : null
}

Beispiel 2: Aktualisieren einer vorhandenen Anwendung

Im folgenden Beispiel wird die Anwendung aktualisiert, da eine Anwendung mit dem angegebenen Wert "uniqueName" vorhanden ist.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
  "displayName": "Display name"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content