更新应用程序

命名空间:microsoft.graph

更新 应用程序 对象的属性。

重要

不支持使用 PATCH 设置 passwordCredential。 使用 addPasswordremovePassword 方法更新应用程序的密码或机密。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Application.ReadWrite.All 不可用。
委派(个人 Microsoft 帐户) Application.ReadWrite.All 不可用。
应用程序 Application.ReadWrite.OwnedBy Application.ReadWrite.All

HTTP 请求

可以使用其 IDappId 对应用程序进行寻址。 idappId 在 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,如果应用程序是多租户,则用于在已验证的自定义域中标识应用程序。 有关详细信息,请参阅应用程序对象和服务主体对象。 需要多值属性筛选器表达式的 any 运算符。 不可为 Null。
info informationalUrl 应用程序的基本配置文件信息,例如应用的营销、支持、服务条款和隐私声明 URL。 服务条款和隐私声明通过用户同意体验展示给用户。 有关详细信息,请参阅为已注册Microsoft Entra应用添加服务条款和隐私声明
isFallbackPublicClient Boolean 将回退应用程序类型指定为公共客户端,例如在移动设备上运行的已安装应用程序。 默认值 false为 ,这意味着回退应用程序类型是机密客户端,例如 Web 应用。 在某些情况下,Microsoft Entra ID无法确定客户端应用程序类型 (例如,在没有指定重定向 URI) 的情况下对其进行配置的 ROPC 流。 在这些情况下,Microsoft Entra ID将根据此属性的值解释应用程序类型。
keyCredentials keyCredential 集合 与应用程序关联的密钥凭据集合。 不可为空。
logo Stream 应用程序的主徽标。 不可为空。 使用 PUT 方法更新徽标。
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使用此属性指向的密钥加密它发出的所有令牌。 接收加密令牌的应用程序代码必须先使用匹配的私钥来解密该令牌,然后才能将该令牌用于登录用户。
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"
}

响应

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"
        }
    ]
}

响应

HTTP/1.1 204 No Content