「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.01.26
XML
カテゴリ: Graph API


Outlook APIを使用してメールを取得するためには、Microsoft Graph APIを使用することが一般的です。Microsoft Graph APIは、Outlookやその他のMicrosoft 365サービスにアクセスするための統合プラットフォームです。


以下は、Microsoft Graph APIを使用してOutlookメールを取得するための基本的な手順です。なお、これは概要であり、実際にはアプリケーションを登録し、認証トークンを取得するなどの手順が必要です。


Azure Portalでアプリケーションを登録する:


Azure Portalにアクセスし、新しいアプリケーションを登録します。

アプリケーションを登録したら、クライアントIDとテナントIDを取得します。

アクセス許可を付与する:


アプリケーションに対してMicrosoft Graph APIへのアクセス許可を設定します。具体的には、Mail.Readなどのアクセス許可が必要です。

認証トークンを取得する:


アプリケーションがMicrosoft Graph APIにアクセスするためには、OAuth 2.0認証を使用してアクセストークンを取得する必要があります。

Outlookメールを取得するAPIコール:


取得したアクセストークンを使用して、Microsoft Graph APIのエンドポイントを呼び出してメールを取得します。

以下は、C#を使用してMicrosoft Graph APIを呼び出してOutlookメールを取得する例です。


csharp

Copy code

// NuGet パッケージ: Microsoft.Graph, Microsoft.Identity.Client

// 認証情報

var cca = ConfidentialClientApplicationBuilder

    .Create(clientId)

    .WithClientSecret(clientSecret)

    .WithAuthority(new Uri(authority))

    .Build();


// Microsoft Graph API クライアントの作成

var graphClient = new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) => {

    var result = await cca.AcquireTokenForClient(scopes)

        .ExecuteAsync();


    requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);

}));


// メールを取得する例

var messages = await graphClient.Me.MailFolders.Inbox.Messages.Request()

    .Top(10) // 例として最新の10通のメールを取得

    .GetAsync();


foreach (var message in messages)

{

    Console.WriteLine($"Subject: {message.Subject}");

    Console.WriteLine($"Sender: {message.Sender.EmailAddress.Name} ({message.Sender.EmailAddress.Address})");

    Console.WriteLine($"Body: {message.Body.Content}");

    Console.WriteLine();

}

上記のコードでは、clientId、clientSecret、authority、および scopes を適切な値に置き換える必要があります。また、適切なエンドポイントやクエリ パラメータを使用して、必要なメールデータを取得します。


Microsoft Graph APIの詳細なドキュメントは Microsoft Graph を参照してください。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.01.26 07:52:33


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: