Freigeben über


Upsert-Anwendung

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 , wenn es nicht vorhanden ist, oder aktualisieren Sie die Eigenschaften eines vorhandenen Anwendungsobjekts .

Diese API kann auch ein agentIdentityBlueprint-Objekt aus einem agentIdentityBlueprint erstellen, wenn es nicht vorhanden ist, oder Eigenschaften eines vorhandenen agentsIdentityBlueprint 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 Methoden addPassword und removePassword , um das Kennwort oder geheimnis 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

In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten muss dem Administrator eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Die folgenden Rollen mit den geringsten Berechtigungen werden für diesen Vorgang unterstützt.

  • Ein Nicht-Administratormitglied oder Gast mit Standardbenutzerberechtigungen, es sei denn, der Mandantenadministrator hat eingeschränkten Zugriff.
  • Anwendungsentwickler: Erstellen Sie Apps auch dann, 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 hat.
  • Verzeichnisautoren: Aktualisieren der Erweiterungseigenschaften
  • Hybrididentitätsadministrator : Nur grundlegende Eigenschaften aktualisieren
  • Sicherheitsadministrator
  • Cloudanwendungsadministrator
  • Anwendungsadministrator

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 Aktualisierungsvorgang behandelt.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des Anwendungsobjekts an. Der Anforderungstext muss displayName enthalten, eine erforderliche Eigenschaft. Geben Sie andere beschreibbare Eigenschaften an, wenn dies für Ihre Anwendung für die Erstellung oder Aktualisierung erforderlich ist.

Antwort

Wenn ein application- oder agentIdentityBlueprint-Objekt mit uniqueName nicht vorhanden ist, gibt diese Methode einen 201 Created Antwortcode und ein neues Application - oder agentIdentityBlueprint-Objekt mit dem zugewiesenen uniqueName-Wert im Antworttext zurück.

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

Wenn bereits ein application- oder agentIdentityBlueprint-Objekt mit uniqueName vorhanden ist, aktualisiert diese Methode die Anwendung oder das 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 uniqueName-Wert 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 uniqueName-Wert 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