ユーザーの取得
名前空間: microsoft.graph
ユーザー オブジェクトのプロパティとリレーションシップを取得します。
注::ユーザーを取得すると、プロパティの既定セットのみが返されます (businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName)。
$select
を使用して、user オブジェクトの他のプロパティとの関係を取得します。この要求には、最近作成、更新、または削除されたユーザーのレプリケーションの遅延が発生する可能性があります。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) |
---|---|
委任 (職場または学校のアカウント) | User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | User.Read、User.ReadWrite |
アプリケーション | User.Read.All、User.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All |
ヒント
/me
エンドポイントの呼び出しにはサインインしているユーザーが必要であり、そのため委任されたアクセス許可が必要です。/me
エンドポイントを使用している場合、アプリケーションのアクセス許可はサポートされません。User.Read
権限により、アプリはプロファイルを読み取り、サインインしたユーザーのみのグループ メンバーシップ、レポート、マネージャーなどの関係を検出できます。
HTTP 要求
特定のユーザー:
GET /me
GET /users/{id | userPrincipalName}
ヒント
- userPrincipalName が
$
文字で始まる場合、 GET 要求の URL 構文/users/$x@y.com
は400 Bad Request
エラー コードで失敗します。 これは、要求 URL が$
文字の接頭語が付けられるシステム クエリ オプションのみを期待している OData URL 規則に違反しているためです。 回避策として、次のように/users
の後のスラッシュ (/) を削除し、userPrincipalName をかっこと単一引用符で囲みます:/users('$x@y.com')
。 たとえば、/users('$AdeleVance@contoso.com')
などです。 - userPrincipalName を使用して B2B ユーザーにクエリを実行するには、ハッシュ (#) 文字をエンコードします。 つまり、
#
記号を%23
に置き換えます。 たとえば、/users/AdeleVance_adatum.com%23EXT%23@contoso.com
などです。
サインイン ユーザー:
GET /me
オプションのクエリ パラメーター
このメソッドは、$select
OData クエリ パラメーターをサポートして、既定で返されないユーザー プロパティを含む特定のユーザー プロパティを取得します。
既定では、限定的なプロパティのセットのみが返されます (businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName)。
別のプロパティ セットを返すには、OData $select
クエリ パラメーターを使用して、目的の user プロパティのセットを指定する必要があります。 たとえば、displayName、givenName、postalCode を返すには、クエリに $select=displayName,givenName,postalCode
を追加します。
拡張機能と関連データを取得する
拡張機能の種類 | コメント |
---|---|
onPremisesExtensionAttributes 1-15 | $select でのみ返されます。 |
スキーマ拡張機能 | $select でのみ返されます。 |
オープン拡張機能 | [オープン拡張機能を取得する] 操作でのみ返されます。 |
ディレクトリ拡張機能 | $select でのみ返されます。 |
要求ヘッダー
ヘッダー | 値 |
---|---|
Authorization | ベアラー {token}。必須。 |
Content-Type | application/json |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文で user オブジェクトを返します。 $select
を使用して特定のプロパティを指定していない限り、既定のプロパティを返します。
このメソッドは、要求が正常に処理されたが、サーバーが関連するバックグラウンド処理を完了するのにさらに時間を必要とする場合に 202 Accepted
を返します。
例
例 1:標準的なユーザーの要求
要求
既定では、限定的なプロパティのセットのみが返されます (businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName)。この例では、既定の要求と応答を示します。
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"displayName": "Adele Vance",
"givenName": "Adele",
"jobTitle": "Retail Manager",
"mail": "AdeleV@contoso.onmicrosoft.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}
例 2: サインインしているユーザーの要求
/users/{id | userPrincipalName}
を /me
に置き換えると、サインイン ユーザーのユーザー情報を取得できます。
要求
GET https://graph.microsoft.com/v1.0/me
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"displayName": "Adele Vance",
"givenName": "Adele",
"jobTitle": "Retail Manager",
"mail": "AdeleV@contoso.onmicrosoft.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}
例 3: $selectを使用してユーザーの特定のプロパティを取得する
特定のプロパティを取得するには、OData$select
クエリ パラメーターを使用します。 たとえば、displayName、givenName、postalCode、および ID を返すには、次をクエリ $select=displayName,givenName,postalCode,identities
に追加します。
要求
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}?$select=displayName,givenName,postalCode,identities
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,givenName,postalCode,identities)/$entity",
"displayName": "Adele Vance",
"givenName": "Adele",
"postalCode": "98004",
"identities": [
{
"signInType": "userPrincipalName",
"issuer": "contoso.com",
"issuerAssignedId": "AdeleV@contoso.com"
}
]
}
例 4: ユーザーのスキーマ拡張の値を取得する
この例では、スキーマ拡張の ID は ext55gb1l09_msLearnCourses
です。
要求
GET https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e?$select=ext55gb1l09_msLearnCourses
応答
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(ext55gb1l09_msLearnCourses)/$entity",
"ext55gb1l09_msLearnCourses": {
"@odata.type": "#microsoft.graph.ComplexExtensionValue",
"courseType": "Developer",
"courseName": "Introduction to Microsoft Graph",
"courseId": 1
}
}
フィードバック
フィードバックの送信と表示