ユーザーの取得

名前空間: microsoft.graph

ユーザー オブジェクトのプロパティとリレーションシップを取得します。

メモ: ユーザーを取得すると、既定のプロパティセット (businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName) のみが返されます。 を使用して $selectユーザー オブジェクトの他のプロパティとリレーションシップを取得します。

この要求には、最近作成、更新、または削除されたユーザーのレプリケーションの遅延が発生する可能性があります。

アクセス許可

この 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

ヒント

  1. /me エンドポイントの呼び出しにはサインインしているユーザーが必要であり、そのため委任されたアクセス許可が必要です。 /me エンドポイントを使用している場合、アプリケーションのアクセス許可はサポートされません。
  2. User.Read 権限により、アプリはプロファイルを読み取り、サインインしたユーザーのみのグループ メンバーシップ、レポート、マネージャーなどの関係を検出できます。

HTTP 要求

特定のユーザー:

GET /me
GET /users/{id | userPrincipalName}

ヒント

  • userPrincipalName$ 文字で始まる場合、 GET 要求の URL 構文 /users/$x@y.com400 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

オプションのクエリ パラメーター

このメソッドでは、OData クエリ パラメーター$selectサポートして、既定で返されないユーザー プロパティを含む特定のユーザー プロパティを取得します。

既定では、限定的なプロパティのセットのみが返されます (businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName)。

別のプロパティ セットを返すには、OData $select クエリ パラメーターを使用して、目的の user プロパティのセットを指定する必要があります。 たとえば、displayNamegivenNamepostalCode を返すには、クエリに $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/87d349ed-44d7-43e1-9a83-5f2406dee5bd

応答

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 クエリ パラメーターを使用します。 たとえば、displayNamegivenNamepostalCode、および IDを返すには、次をクエリ $select=displayName,givenName,postalCode,identitiesに追加します。

要求

GET https://graph.microsoft.com/v1.0/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$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
    }
}

例 5: を使用して $filter 、プロパティ値に基づいて特定のユーザーを取得する

この例では、 句とendswith共にクエリ パラメーターを$filter使用して、メール属性の特定の値を持つユーザーを取得する方法を示します。 この要求は、contoso.com で終わるメール アドレスを持つすべてのユーザーをフィルター処理して返します。

要求

GET https://graph.microsoft.com/v1.0/users?$count=true&ConsistencyLevel=eventual&$filter=endsWith(mail,'@contoso.com')

応答

HTTP/1.1 200 OK
Content-type: application/json

{
    
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
    "@odata.count": 1350,
    "@odata.nextLink": "https://graph.microsoft.com/v1.0/users?$count=true&$filter=endsWith(mail,'@contoso.com')&ConsistencyLevel=eventual&$skiptoken=m~AQAnOzEyN2NjN2I3NTQzYzQ0YzA4NjlhYjU5MzUzYmNhNGI2OzswOzA7",
    "value": [
        {
            "businessPhones": [],
            "displayName": "Phantom Space",
            "givenName": "Space",
            "jobTitle": null,
            "mail": "Space.Phantom@cloudezzy.com",
            "mobilePhone": null,
            "officeLocation": null,
            "preferredLanguage": null,
            "surname": "Phantom",
            "userPrincipalName": "Space.Phantom@contoso.com",
            "id": "00111916-c5c5-4dd2-9e31-aab96af7511e"
        }
    ]
}