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 .

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.

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

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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.
App Application.ReadWrite.OwnedBy Application.ReadWrite.All

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 die 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 kein Anwendungsobjekt mit uniqueName vorhanden ist, gibt diese Methode einen 201 Created Antwortcode und ein neues Anwendungsobjekt im Antworttext zurück. Der Anwendung wird der wert uniqueName zugewiesen.

Wenn kein Anwendungsobjekt 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 ein Anwendungsobjekt mit uniqueName vorhanden ist, aktualisiert diese Methode das Anwendungsobjekt 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