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

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

次のコード例は、サポートされている言語で認証プロバイダーを使用して Microsoft Graph クライアントのインスタンスを作成する方法を示しています。 認証プロバイダーは、アプリケーションのアクセス トークンの取得を処理します。

言語とプラットフォームごとに、さまざまな認証プロバイダーを利用できます。 さまざまな認証プロバイダーは、さまざまなクライアント シナリオをサポートします。 シナリオに適したプロバイダーとオプションの詳細については、「認証プロバイダーの選択」を参照してください。

クライアント ID は、Azure portalでアプリを登録するときに生成されるアプリ登録 ID です。

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 DeviceCodeCredentialOptions
{
    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
    ClientId = clientId,
    TenantId = tenantId,
    // Callback function that receives the user prompt
    // Prompt contains the generated device code that user must
    // enter during the auth process in the browser
    DeviceCodeCallback = (code, cancellation) =>
    {
        Console.WriteLine(code.Message);
        return Task.FromResult(0);
    },
};

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

var graphClient = new GraphServiceClient(deviceCodeCredential, scopes);