アプリケーションを更新する
[アーティクル]
03/10/2024
14 人の共同作成者
フィードバック
この記事の内容
名前空間: microsoft.graph
アプリケーション オブジェクトのプロパティを更新します。
この API は、次の国内クラウド展開 で使用できます。
グローバル サービス
米国政府機関 L4
米国政府機関 L5 (DOD)
21Vianet が運営する中国
✅
✅
✅
✅
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ 、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類 」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください 。
アクセス許可の種類
最小特権アクセス許可
特権の高いアクセス許可
委任 (職場または学校のアカウント)
Application.ReadWrite.All
注意事項なし。
委任 (個人用 Microsoft アカウント)
Application.ReadWrite.All
注意事項なし。
アプリケーション
Application.ReadWrite.OwnedBy
Application.ReadWrite.All
HTTP 要求
アプリケーションのアドレスは、 その ID または appId を使用して 行うことができます。 id と appId は、Microsoft Entra 管理センターのアプリ登録でそれぞれオブジェクト ID とアプリケーション (クライアント) ID と呼ばれます。 をアプリケーション オブジェクトの ID に置き換えます{applicationObjectId}
。
PATCH /applications/{applicationObjectId}
PATCH /applications(appId='{appId}')
ロゴを更新するには、次のように PUT メソッドを使用します。
PUT /applications/{applicationObjectId}/logo
PUT /applications(appId='{appId}')/logo
名前
説明
Authorization
ベアラー {token}。 必須です。 認証と承認 の詳細については、こちらをご覧ください。
Content-Type
application/json. 必須です。
要求本文
要求本文で、更新する関連フィールドの値を指定します。 要求本文に含まれない既存のプロパティは、以前の値のままになるか、他のプロパティ値の変化に基づいて再計算されます。 最適なパフォーマンスを得るために、変更されていない既存の値を含めないでください。
プロパティ
型
説明
api
apiApplication
Web API を実装するアプリケーションの設定を指定します。
appRoles
appRole コレクション
アプリケーションに対して定義されているロールのコレクション。 これらのロールは、ユーザー、グループ、サービス プリンシパルなどに割り当てることができます。 null 許容型ではありません。
displayName
String
アプリケーションの表示名。
groupMembershipClaims
String
アプリケーションが予期するユーザーまたは OAuth 2.0 アクセス トークンで発行された グループ 要求を構成します。 この属性を設定するには、次のいずれかの有効な文字列値を使用します。None
SecurityGroup
: セキュリティ グループとMicrosoft Entra ロールの場合All
: これにより、サインインしているユーザーがメンバーであるセキュリティ グループ、配布グループ、Microsoft Entraディレクトリ ロールがすべて取得されます。
identifierUris
String collection
Microsoft Entra テナント内のアプリケーションを識別する URI、またはアプリケーションがマルチテナントの場合は検証済みのカスタム ドメイン内の URI。 詳細については、「Application オブジェクトとサービス プリンシパル オブジェクト 」を参照してください。 複数値プロパティのフィルター式には any 演算子が必要です。 null 許容型ではありません。
info
informationalUrl
アプリのマーケティング、サポート、サービス条件、プライバシーに関する声明の URL など、アプリケーションの基本的なプロファイル情報。 サービス利用規約とプライバシーに関する声明は、ユーザーの同意エクスペリエンスからユーザーに提示されます。 詳細については、「登録済みのMicrosoft Entra アプリのサービス条件とプライバシーに関する声明を追加する 」を参照してください。
isFallbackPublicClient
Boolean
モバイル デバイスで実行するインストール済みアプリケーションなど、フォールバック アプリケーションの種類をパブリック クライアントとして指定します。 既定値は です false
。これは、フォールバック アプリケーションの種類が Web アプリなどの機密クライアントであることを意味します。 Microsoft Entra IDがクライアント アプリケーションの種類 (たとえば、リダイレクト URI を指定せずに構成されている ROPC フロー) を特定できないシナリオがあります。 このような場合、Microsoft Entra IDは、このプロパティの値に基づいてアプリケーションの種類を解釈します。
keyCredentials
keyCredential コレクション
アプリケーションに関連付けられているキー資格情報のコレクションです。 null 許容型ではありません。
logo
Stream
アプリケーションのメイン ロゴです。 null 許容ではありません。 PUT メソッドを使用してロゴを更新します。
optionalClaims
optionalClaims
アプリケーション開発者は、Microsoft Entra アプリでオプションの要求を構成して、Microsoft セキュリティ トークン サービスによってアプリケーションに送信されるトークンで必要な要求を指定できます。 詳細については、「 省略可能な要求 」を参照してください。
parentalControlSettings
parentalControlSettings
アプリケーションにおける、保護者による制限設定を指定します。
publicClient
publicClientApplication
デスクトップやモバイル デバイスなど、インストールされているクライアントの設定を指定します。
requiredResourceAccess
requiredResourceAccess コレクション
アプリケーションがアクセスする必要があるリソースを指定します。 このプロパティでは、各リソースに必要な委任されたアクセス許可とアプリケーション ロールのセットも指定します。 必要なリソースへのアクセスに対するこの構成によって、同意エクスペリエンスが促進されます。 50 を超えるリソース サービス (API) を構成できます。 2021 年 10 月中旬以降は、必要なアクセス許可の合計が 400 を超えることはできません。 null 許容ではありません。
samlMetadataUrl
String
サービスによりフェデレーション用の SAML メタデータが公開されている URL。 このプロパティは、シングルテナント アプリケーションに対してのみ有効です。
signInAudience
String
現在のアプリケーションでサポートされている Microsoft アカウントを指定します。 サポートされている値は次のとおりです。AzureADMyOrg
: organizationのMicrosoft Entra テナント (単一テナント) に Microsoft の職場または学校アカウントを持つユーザーAzureADMultipleOrgs
: organizationのMicrosoft Entra テナント (マルチテナント) に Microsoft の職場または学校アカウントを持つユーザー AzureADandPersonalMicrosoftAccount
: 個人の Microsoft アカウントを持つユーザー、またはorganizationのMicrosoft Entra テナント内の職場または学校アカウントを持つユーザー このプロパティの値は、他のアプリ オブジェクト プロパティに影響します。 その結果、このプロパティを変更する場合は、最初に他のプロパティを変更する必要があります。 詳細については、「 signInAudience の検証の違い 」を参照してください。
SPA
spaApplication
サイン アウト URL、認証コードとアクセス トークンのリダイレクト URI など、シングルページ アプリケーションの設定を指定します。
tags
String コレクション
アプリケーションを分類および識別するために使用できるカスタム文字列です。 null 許容ではありません。
tokenEncryptionKeyId
String
keyCredentials コレクションにある公開キーの keyId を指定します。 構成すると、Microsoft Entra IDは、このプロパティが指すキーを使用して、出力されるすべてのトークンを暗号化します。 暗号化されたトークンを受け取るアプリケーション コードでは、一致する秘密キーを使用してトークンを複合化してから、サインインしているユーザーのトークンとして使用する必要があります。
Web
webApplication
Web アプリケーションの設定を指定します。
応答
成功した場合、このメソッドは応答コードを 204 No Content
返し、応答本文では何も返しません。
例
例 1: アプリケーションの displayName を更新する
要求
次の例は要求を示しています。
PATCH https://graph.microsoft.com/v1.0/applications/{id}
Content-type: application/json
{
"displayName": "New display name"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Application
{
DisplayName = "New display name",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].PatchAsync(requestBody);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc applications patch --application-id {application-id} --body '{\
"displayName": "New display name"\
}\
'
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewApplication()
displayName := "New display name"
requestBody.SetDisplayName(&displayName)
applications, err := graphClient.Applications().ByApplicationId("application-id").Patch(context.Background(), requestBody, nil)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
application.setDisplayName("New display name");
Application result = graphClient.applications().byApplicationId("{application-id}").patch(application);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
displayName: 'New display name'
};
await client.api('/applications/{id}')
.update(application);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$requestBody->setDisplayName('New display name');
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
displayName = "New display name"
}
Update-MgApplication -ApplicationId $applicationId -BodyParameter $params
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
graph_client = GraphServiceClient(credentials, scopes)
request_body = Application(
display_name = "New display name",
)
result = await graph_client.applications.by_application_id('application-id').patch(request_body)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
応答
HTTP/1.1 204 No Content
例 2: アプリケーションの appRoles を更新する
次の例では、アプリケーションの appRoles コレクションを更新します。 既存のアプリ ロールを保持するには、それらを要求に含めます。 要求に含まれていないコレクション内の既存のオブジェクトは、新しいオブジェクトに置き換えられます。 このオブジェクトは、テナント内のサービス プリンシパルの対応するプロパティと同期されます。
要求
PATCH https://graph.microsoft.com/v1.0/applications/fda284b5-f0ad-4763-8289-31a273fca865
Content-type: application/json
{
"appRoles": [
{
"allowedMemberTypes": [
"User",
"Application"
],
"description": "Survey.Read",
"displayName": "Survey.Read",
"id": "ebb7c86c-fb47-4e3f-8191-420ff1b9de4a",
"isEnabled": false,
"origin": "Application",
"value": "Survey.Read"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Application
{
AppRoles = new List<AppRole>
{
new AppRole
{
AllowedMemberTypes = new List<string>
{
"User",
"Application",
},
Description = "Survey.Read",
DisplayName = "Survey.Read",
Id = Guid.Parse("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"),
IsEnabled = false,
Origin = "Application",
Value = "Survey.Read",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].PatchAsync(requestBody);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc applications patch --application-id {application-id} --body '{\
"appRoles": [\
{\
"allowedMemberTypes": [\
"User",\
"Application"\
],\
"description": "Survey.Read",\
"displayName": "Survey.Read",\
"id": "ebb7c86c-fb47-4e3f-8191-420ff1b9de4a",\
"isEnabled": false,\
"origin": "Application",\
"value": "Survey.Read"\
}\
]\
}\
'
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewApplication()
appRole := graphmodels.NewAppRole()
allowedMemberTypes := []string {
"User",
"Application",
}
appRole.SetAllowedMemberTypes(allowedMemberTypes)
description := "Survey.Read"
appRole.SetDescription(&description)
displayName := "Survey.Read"
appRole.SetDisplayName(&displayName)
id := uuid.MustParse("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a")
appRole.SetId(&id)
isEnabled := false
appRole.SetIsEnabled(&isEnabled)
origin := "Application"
appRole.SetOrigin(&origin)
value := "Survey.Read"
appRole.SetValue(&value)
appRoles := []graphmodels.AppRoleable {
appRole,
}
requestBody.SetAppRoles(appRoles)
applications, err := graphClient.Applications().ByApplicationId("application-id").Patch(context.Background(), requestBody, nil)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
LinkedList<AppRole> appRoles = new LinkedList<AppRole>();
AppRole appRole = new AppRole();
LinkedList<String> allowedMemberTypes = new LinkedList<String>();
allowedMemberTypes.add("User");
allowedMemberTypes.add("Application");
appRole.setAllowedMemberTypes(allowedMemberTypes);
appRole.setDescription("Survey.Read");
appRole.setDisplayName("Survey.Read");
appRole.setId(UUID.fromString("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"));
appRole.setIsEnabled(false);
appRole.setOrigin("Application");
appRole.setValue("Survey.Read");
appRoles.add(appRole);
application.setAppRoles(appRoles);
Application result = graphClient.applications().byApplicationId("{application-id}").patch(application);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
appRoles: [
{
allowedMemberTypes: [
'User',
'Application'
],
description: 'Survey.Read',
displayName: 'Survey.Read',
id: 'ebb7c86c-fb47-4e3f-8191-420ff1b9de4a',
isEnabled: false,
origin: 'Application',
value: 'Survey.Read'
}
]
};
await client.api('/applications/fda284b5-f0ad-4763-8289-31a273fca865')
.update(application);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$appRolesAppRole1 = new AppRole();
$appRolesAppRole1->setAllowedMemberTypes(['User', 'Application', ]);
$appRolesAppRole1->setDescription('Survey.Read');
$appRolesAppRole1->setDisplayName('Survey.Read');
$appRolesAppRole1->setId('ebb7c86c-fb47-4e3f-8191-420ff1b9de4a');
$appRolesAppRole1->setIsEnabled(false);
$appRolesAppRole1->setOrigin('Application');
$appRolesAppRole1->setValue('Survey.Read');
$appRolesArray []= $appRolesAppRole1;
$requestBody->setAppRoles($appRolesArray);
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
appRoles = @(
@{
allowedMemberTypes = @(
"User"
"Application"
)
description = "Survey.Read"
displayName = "Survey.Read"
id = "ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"
isEnabled = $false
origin = "Application"
value = "Survey.Read"
}
)
}
Update-MgApplication -ApplicationId $applicationId -BodyParameter $params
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
from msgraph.generated.models.app_role import AppRole
graph_client = GraphServiceClient(credentials, scopes)
request_body = Application(
app_roles = [
AppRole(
allowed_member_types = [
"User",
"Application",
],
description = "Survey.Read",
display_name = "Survey.Read",
id = UUID("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"),
is_enabled = False,
origin = "Application",
value = "Survey.Read",
),
],
)
result = await graph_client.applications.by_application_id('application-id').patch(request_body)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
応答
HTTP/1.1 204 No Content