次の方法で共有


Upsert アプリケーション

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

新しい アプリケーション オブジェクトが存在しない場合は作成するか、既存の アプリケーション オブジェクトのプロパティを更新します。

重要

PATCH を使用して passwordCredential を設定することはサポートされていません。 アプリケーションのパスワードまたはシークレットを更新するには、 addPassword メソッドと removePassword メソッドを使用します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) Application.ReadWrite.All 注意事項なし。
委任 (個人用 Microsoft アカウント) Application.ReadWrite.All 注意事項なし。
アプリケーション Application.ReadWrite.OwnedBy Application.ReadWrite.All

HTTP 要求

アプリケーションを作成または更新するには、 uniqueName クライアントが提供する代替キーを指定します。

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

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. Required.
Prefer create-if-missing. アップサート動作に必要です。それ以外の場合、要求は更新操作として扱われます。

要求本文

要求本文で、 アプリケーション オブジェクトの JSON 表現を指定します。 要求本文には、必要なプロパティである displayName が含まれている必要があります。 作成または更新のために、アプリケーションに必要に応じて他の書き込み可能なプロパティを指定します。

応答

uniqueName を持つアプリケーション オブジェクトが存在しない場合、このメソッドは応答コード201 Createdと、応答本文に新しいアプリケーション オブジェクトを返します。 アプリケーションには uniqueName 値が割り当てられます。

uniqueName を持つアプリケーション オブジェクトが存在せず、Prefer: create-if-missing ヘッダーが指定されていない場合、このメソッドは404 Not Foundエラー コードを返します。

uniqueName を持つアプリケーション オブジェクトが既に存在する場合、このメソッドはアプリケーション オブジェクトを更新し、204 No Content応答コードを返します。

例 1: 新しいアプリケーションが存在しない場合は作成する

次の例では、 指定された uniqueName 値を持つアプリケーションが存在しないため、アプリケーションを作成します。

要求

次の例は要求を示しています。

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

{
  "displayName": "Display name"
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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
}

例 2: 既存のアプリケーションを更新する

次の例では、 指定された uniqueName 値を持つアプリケーションが存在するため、アプリケーションを更新します。

要求

次の例は要求を示しています。

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

{
  "displayName": "Display name"
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content