(委派的权限授予) 创建 oAuth2PermissionGrant

命名空间:microsoft.graph

创建由 oAuth2PermissionGrant 对象表示的委派权限授予。

委托的权限授权授权客户端服务主体 (表示客户端应用程序) ,以代表已登录用户访问代表 API) 的资源服务主体 (访问受授予的委派权限限制的访问级别。

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) DelegatedPermissionGrant.ReadWrite.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 DelegatedPermissionGrant.ReadWrite.All、Directory.ReadWrite.All

HTTP 请求

POST /oauth2PermissionGrants

请求标头

名称 类型 说明
Authorization string Bearer {token}。必需。

请求正文

在请求正文中,提供 oAuth2PermissionGrant 对象的 JSON 表示形式。

响应

如果成功,此方法在响应正文中返回 200 系列响应代码和新的 oAuth2PermissionGrant 对象。 下表显示了创建 oAuth2PermissionGrant 时所需的属性。

属性 类型 说明
clientId 字符串 应用程序的客户端 服务主体的 ID,该应用程序有权在访问 API 时代表已登录用户执行操作。 必需。
consentType String 指示是否授予客户端应用程序模拟所有用户或仅特定用户的授权。 AllPrincipals 指示授权模拟所有用户。 主体 指示授权模拟特定用户。 管理员可以代表所有用户授予同意。 在某些情况下,对于某些委派的权限,非管理员用户可能有权代表自己同意。 必需。
principalId String consentType主体 时,客户端有权访问资源的 用户 ID。 如果 consentTypeAllPrincipals ,则此值为 null。 如果 consentType 是主体,则为必需
resourceId String 有权访问权限的资源 服务主体ID。 这将标识客户端有权代表已登录用户尝试调用的 API。
scope String 委托权限的声明值的空格分隔列表,应包含在资源应用程序的访问令牌中, (API) 。 例如,openid User.Read GroupMember.Read.All。 每个声明值应与 API 定义的委托权限之一的 字段匹配,该权限在资源 服务主体oauth2PermissionScopes 属性中列出。

示例

请求

POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
Content-Type: application/json

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}

响应

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#oauth2PermissionGrants/$entity",
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "id": "l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk",
    "principalId": null,
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}