命名空间:microsoft.graph
更新 应用程序 对象的属性。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Application.ReadWrite.All |
不可用。 |
委派(个人 Microsoft 帐户) |
Application.ReadWrite.All |
不可用。 |
应用程序 |
Application.ReadWrite.OwnedBy |
Application.ReadWrite.All |
在具有工作或学校帐户的委派方案中,必须为管理员分配受支持的Microsoft Entra角色或具有受支持角色权限的自定义角色。 此作支持以下最低特权角色。
- 非管理员成员或具有默认用户权限的来宾,除非 租户管理员具有受限访问权限
- 应用程序开发人员 - 即使管理员限制对成员和来宾的访问权限,也可以创建应用;向具有此角色的主体分配了他们创建的应用的所有权
- 目录编写器 - 更新扩展属性
- 混合标识管理员 - 仅更新基本属性
- 安全管理员
- 云应用程序管理员
- 应用程序管理员
HTTP 请求
可以使用其 ID 或 appId 对应用程序进行寻址。
id 和 appId 在 Microsoft Entra 管理中心 中的应用注册中分别称为“对象 ID”和“应用程序 (客户端) ID”。 将 替换为 {applicationObjectId}
应用程序对象的 ID 。
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 集合 |
为应用程序定义的角色集合。 这些角色可以分配给用户、组或服务主体。 不可为空。 |
displayName |
String |
应用程序的显示名称。 |
groupMembershipClaims |
String |
配置应用程序所需的用户或 OAuth 2.0 访问令牌中颁发的 组 声明。 要设置此属性,请使用以下有效字符串值之一:None -
SecurityGroup :对于安全组和Microsoft Entra角色 -
All :这将获取登录用户所属的所有安全组、通讯组和Microsoft Entra目录角色
|
identifierUris |
String collection |
标识应用程序在其Microsoft Entra租户中的 URI,如果应用程序是多租户,则用于在已验证的自定义域中标识应用程序。 有关详细信息,请参阅应用程序对象和服务主体对象。 不可为空。 |
info |
informationalUrl |
应用程序的基本配置文件信息,例如应用的营销、支持、服务条款和隐私声明 URL。 服务条款和隐私声明通过用户同意体验展示给用户。 有关详细信息,请参阅为已注册Microsoft Entra应用添加服务条款和隐私声明。 |
isFallbackPublicClient |
Boolean |
将回退应用程序类型指定为公共客户端,例如在移动设备上运行的已安装应用程序。 默认值 false 为 ,这意味着回退应用程序类型是机密客户端,例如 Web 应用。 在某些情况下,Microsoft Entra ID无法确定客户端应用程序类型 (例如,在没有指定重定向 URI) 的情况下对其进行配置的 ROPC 流。 在这些情况下,Microsoft Entra ID将根据此属性的值解释应用程序类型。 |
keyCredentials |
keyCredential 集合 |
与应用程序关联的密钥凭据集合。 不可为空。 |
logo |
Stream |
应用程序的主徽标。 不可为空。 使用 PUT 方法更新徽标。 |
nativeAuthenticationApisEnabled |
nativeAuthenticationApisEnabled |
指定是否启用本机身份验证 API,以便应用程序可以使用它们来提供本机身份验证。 可能的值为: none 、 all 和 unknownFutureValue 。 有关详细信息,请参阅 本机身份验证。 |
optionalClaims |
optionalClaims |
应用程序开发人员可以在其Microsoft Entra应用中配置可选声明,以指定他们希望Microsoft安全令牌服务发送到其应用程序的令牌中的声明。 有关详细信息 ,请参阅可选声明 。 |
parentalControlSettings |
parentalControlSettings |
指定应用程序的家长控制设置。 |
publicClient |
publicClientApplication |
指定已安装客户端(如台式设备或移动设备)的设置。 |
requiredResourceAccess |
requiredResourceAccess 集合 |
指定应用程序需要访问的资源。 此属性还指定每个资源所需的委派权限和应用程序角色的集合。 该配置对所需的资源的访问将推动许可体验。 可配置的资源服务 (API) 不能超过 50 个。 从 2021 年 10 月中旬开始,所需权限总数不得超过 400 个。 不可为 null。 |
samlMetadataUrl |
String |
服务用于公开联合身份验证的 SAML 元数据的 URL。 此属性仅对单租户应用程序有效。 |
signInAudience |
String |
指定当前应用程序支持的 Microsoft 帐户。 支持的值为:-
AzureADMyOrg :在组织的Microsoft Entra租户 (具有Microsoft工作或学校帐户的用户,即单个租户) -
AzureADMultipleOrgs :在任何组织的Microsoft Entra租户 (具有Microsoft工作或学校帐户的用户,即多租户) -
AzureADandPersonalMicrosoftAccount :在任何组织的Microsoft Entra租户中具有个人Microsoft帐户或工作或学校帐户的用户 此属性的值对其他应用对象属性具有影响。 因此,如果更改此属性,可能需要先更改其他属性。 有关详细信息,请参阅 signInAudience 的验证差异。 |
spa |
spaApplication |
指定单页应用程序的设置,包括注销 URL 并重定向授权代码和访问令牌的 URI。 |
标记 |
String 集合 |
可用于分类和标识应用程序的自定义字符串。 不可为空。 |
tokenEncryptionKeyId |
String |
指定 keyCredentials 集合中的公共密钥的 keyId。 配置后,Microsoft Entra ID使用此属性指向的密钥加密它发出的所有令牌。 接收加密令牌的应用程序代码必须先使用匹配的私钥来解密该令牌,然后才能将该令牌用于登录用户。 |
唯一名称 |
String |
可分配给应用程序并用作备用键的唯一标识符。 仅当 null 和 设置为不可变时,才能更新。 |
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 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewApplication()
displayName := "New display name"
requestBody.SetDisplayName(&displayName)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
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
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Application;
$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 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
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 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
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)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
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
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Application;
use Microsoft\Graph\Generated\Models\AppRole;
$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 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
from msgraph.generated.models.app_role import AppRole
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
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