ユーザーの取得
[アーティクル]
03/30/2023
16 人の共同作成者
フィードバック
この記事の内容
名前空間: 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
ヒント
/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
オプションのクエリ パラメーター
このメソッドでは、OData クエリ パラメーター を$select
サポートして、既定で返されないユーザー プロパティを含む特定のユーザー プロパティを取得します。
既定では、限定的なプロパティのセットのみが返されます (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/87d349ed-44d7-43e1-9a83-5f2406dee5bd
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var result = await graphClient.Users["{user-id}"].GetAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
User user = graphClient.users("87d349ed-44d7-43e1-9a83-5f2406dee5bd")
.buildRequest()
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
result, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), nil)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$result = $graphServiceClient->users()->byUserId('user-id')->get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
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
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var result = await graphClient.Me.GetAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
User user = graphClient.me()
.buildRequest()
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
result, err := graphClient.Me().Get(context.Background(), nil)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$result = $graphServiceClient->me()->get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
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/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$select=displayName,givenName,postalCode,identities
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var result = await graphClient.Users["{user-id}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "displayName","givenName","postalCode","identities" };
});
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
let user = await client.api('/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd')
.select('displayName,givenName,postalCode,identities')
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
User user = graphClient.users("87d349ed-44d7-43e1-9a83-5f2406dee5bd")
.buildRequest()
.select("displayName,givenName,postalCode,identities")
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestParameters := &graphusers.UserItemRequestBuilderGetQueryParameters{
Select: [] string {"displayName","givenName","postalCode","identities"},
}
configuration := &graphusers.UserItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
result, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestConfiguration = new UserRequestBuilderGetRequestConfiguration();
$queryParameters = UserRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->select = ["displayName","givenName","postalCode","identities"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->users()->byUserId('user-id')->get($requestConfiguration);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
// THE PYTHON SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
client = GraphServiceClient(request_adapter)
query_params = UserRequestBuilder.UserRequestBuilderGetQueryParameters(
select = ["displayName","givenName","postalCode","identities"],
)
request_configuration = UserRequestBuilder.UserRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
result = await client.users.by_user_id('user-id').get(request_configuration = request_configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
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
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var result = await graphClient.Users["{user-id}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "ext55gb1l09_msLearnCourses" };
});
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
let user = await client.api('/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e')
.select('ext55gb1l09_msLearnCourses')
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
User user = graphClient.users("4562bcc8-c436-4f95-b7c0-4f8ce89dca5e")
.buildRequest()
.select("ext55gb1l09_msLearnCourses")
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestParameters := &graphusers.UserItemRequestBuilderGetQueryParameters{
Select: [] string {"ext55gb1l09_msLearnCourses"},
}
configuration := &graphusers.UserItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
result, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestConfiguration = new UserRequestBuilderGetRequestConfiguration();
$queryParameters = UserRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->select = ["ext55gb1l09_msLearnCourses"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->users()->byUserId('user-id')->get($requestConfiguration);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
// THE PYTHON SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
client = GraphServiceClient(request_adapter)
query_params = UserRequestBuilder.UserRequestBuilderGetQueryParameters(
select = ["ext55gb1l09_msLearnCourses"],
)
request_configuration = UserRequestBuilder.UserRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
result = await client.users.by_user_id('user-id').get(request_configuration = request_configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
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')
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var result = await graphClient.Users.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Count = true;
requestConfiguration.QueryParameters.ConsistencyLevel = "eventual";
requestConfiguration.QueryParameters.Filter = "endsWith(mail,'@contoso.com')";
});
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
let users = await client.api('/users?$count=true&ConsistencyLevel=eventual&$filter=endsWith(mail,\'@contoso.com\')')
.filter('endsWith(mail,\'@contoso.com\')')
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<Option> requestOptions = new LinkedList<Option>();
requestOptions.add(new QueryOption("ConsistencyLevel", "eventual"));
UserCollectionPage users = graphClient.users()
.buildRequest( requestOptions )
.filter("endsWith(mail,'@contoso.com')")
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestCount := true
requestConsistencyLevel := "eventual"
requestFilter := "endsWith(mail,'@contoso.com')"
requestParameters := &graphusers.UsersRequestBuilderGetQueryParameters{
Count: &requestCount,
ConsistencyLevel: &requestConsistencyLevel,
Filter: &requestFilter,
}
configuration := &graphusers.UsersRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
result, err := graphClient.Users().Get(context.Background(), configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestConfiguration = new UsersRequestBuilderGetRequestConfiguration();
$queryParameters = UsersRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->count = true;
$queryParameters->consistencyLevel = "eventual";
$queryParameters->filter = "endsWith(mail,'@contoso.com')";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->users()->get($requestConfiguration);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
// THE PYTHON SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
client = GraphServiceClient(request_adapter)
query_params = UsersRequestBuilder.UsersRequestBuilderGetQueryParameters(
count = true,
consistencyLevel = "eventual",
filter = "endsWith(mail,'@contoso.com')",
)
request_configuration = UsersRequestBuilder.UsersRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
result = await client.users.get(request_configuration = request_configuration)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
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"
}
]
}