oAuth2PermissionGrant を作成する (委任されたアクセス許可付与)

名前空間: microsoft.graph

oAuth2PermissionGrant オブジェクトによって表される委任されたアクセス許可付与を作成します。

委任されたアクセス許可付与は、クライアント サービス プリンシパル (クライアント アプリケーションを表す) が、サインインしているユーザーに代わってリソース サービス プリンシパル (API を表す) にアクセスし、付与された委任されたアクセス許可によって制限されたアクセスレベルを承認します。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All

HTTP 要求

POST /oauth2PermissionGrants

要求ヘッダー

名前 説明
Authorization string ベアラー {token}。必須。

要求本文

要求本文で、 oAuth2PermissionGrant オブジェクトの JSON 表現を指定します。

応答

成功した場合、このメソッドは 200 シリーズの応答コードと、応答本文に新しい oAuth2PermissionGrant オブジェクトを返します。 次の表は、 oAuth2PermissionGrant を作成するときに必要なプロパティを示しています。

プロパティ 説明
clientId String API にアクセスするときにサインインしているユーザーの代理として動作することが承認されているアプリケーションのクライアント サービス プリンシパルID。 必須です。
consentType String クライアント アプリケーションに対して、すべてのユーザーまたは特定のユーザーのみを偽装するための承認が許可されているかどうかを示します。 AllPrincipals は、 すべてのユーザーを偽装する承認を示します。 プリンシパル は、特定のユーザーを偽装する承認を示します。 管理者は、すべてのユーザーに代わって同意を与えることができます。 管理者以外のユーザーは、一部の委任されたアクセス許可に対して、場合によっては自分自身に代わって同意する権限を与えられる場合があります。 必須です。
principalId String consentType Principal の場合に、クライアントがリソースへのアクセスを許可されているユーザーの IDconsentTypeAllPrincipals の場合、 この値は null です。 consentTypeプリンシパル の場合に必要です。
resourceId String アクセスが承認されるリソース サービス プリンシパルID。 これにより、サインインしているユーザーに代わってクライアントが呼び出しを試みる権限を持つ API が識別されます。
scope String リソース アプリケーション (API) のアクセス トークンに含める必要がある委任されたアクセス許可の要求値のスペース区切りの一覧。 たとえば、「 openid User.Read GroupMember.Read.All 」のように入力します。 各要求値は、リソース サービス プリンシパルoauth2PermissionScopes プロパティに記載されている、API によって定義されている委任されたアクセス許可の 1 つの フィールドと一致する必要があります。

要求

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