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

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

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

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

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

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

权限

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

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

HTTP 请求

POST /oauth2PermissionGrants

请求标头

名称 类型 说明
Authorization string 持有者 {token}。 必填。

请求正文

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

下表列出了创建 oAuth2PermissionGrant 时所需的属性。

属性 类型 说明
clientId 字符串 对象 ID (不是应用程序客户端服务主体appId) ,应用程序有权在访问 API 时代表已登录用户进行操作。 必填。
consentType String 指示是授予客户端应用程序模拟所有用户或仅特定用户的授权。 AllPrincipals 指示模拟所有用户的授权。 主体 指示模拟特定用户的授权。 管理员可以代表所有用户授予同意。 在某些情况下,对于某些委派的权限,非管理员用户可能有权代表自己同意。 必填。
principalId String 如果 consentTypePrincipal,则代表客户端访问资源的用户的ID。 如果 consentTypeAllPrincipals, 则此值为 null。 当 consentTypePrincipal 时是必需的。
resourceId String 有权访问的资源服务主体ID。 这将标识客户端有权代表已登录用户尝试调用的 API。
范围 String 委派权限的声明值的空格分隔列表,该列表应包含在资源应用程序的访问令牌中, (API) 。 例如,openid User.Read GroupMember.Read.All。 每个声明值应与 API 定义的委托权限之一的值字段匹配,该权限在资源服务主体publishedPermissionScopes 属性中列出。 长度不得超过 3850 个字符。
startTime DateTimeOffset 目前,将忽略开始时间值,但需要一个值。 必填。
expiryTime DateTimeOffset 目前,结束时间值被忽略,但需要一个值。 必填。

响应

如果成功,此方法在响应正文中返回 200 系列响应代码和新的 oAuth2PermissionGrant 对象。

示例

请求

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

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All",
    "startTime": "2022-03-17T00:00:00Z",
    "expiryTime": "2023-03-17T00:00:00Z"
}

响应

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

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