Microsoft Graph クライアントを作成する

Microsoft Graph クライアントは、Microsoft Graph への呼び出しを簡単にするように設計されています。 アプリケーションの存続期間中、単一のクライアント インスタンスを使用できます。 Microsoft Graph クライアント パッケージをプロジェクトに追加してインストールする方法については、「 SDK のインストール」を参照してください。

次のコード例は、サポートされている言語で認証プロバイダーを使用して Microsoft Graph クライアントのインスタンスを作成する方法を示しています。 認証プロバイダーは、アプリケーションのアクセス トークンの取得を処理します。 言語とプラットフォームごとに、さまざまな認証プロバイダーを利用できます。 さまざまな認証プロバイダーは、さまざまなクライアント シナリオをサポートします。 シナリオに適したプロバイダーとオプションの詳細については、「認証プロバイダーの選択」を参照してください。

var scopes = new[] { "User.Read" };

// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "common";

// Value from app registration
var clientId = "YOUR_CLIENT_ID";

// using Azure.Identity;
var options = new TokenCredentialOptions
{
    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
};

// Callback function that receives the user prompt
// Prompt contains the generated device code that you must
// enter during the auth process in the browser
Func<DeviceCodeInfo, CancellationToken, Task> callback = (code, cancellation) => {
    Console.WriteLine(code.Message);
    return Task.FromResult(0);
};

// https://learn.microsoft.com/dotnet/api/azure.identity.devicecodecredential
var deviceCodeCredential = new DeviceCodeCredential(
    callback, tenantId, clientId, options);

var graphClient = new GraphServiceClient(deviceCodeCredential, scopes);