C#でMicrosoftGraphAPIを使用してメッセージを作成および送信する

Microsoftは、アプリケーション内からプログラムでOffice365およびMicrosoftCloudのサービスにアクセスするためのGraphAPIを提供しています。さらに、Graph APIを使用して、フォルダーの管理、メッセージの送信、およびその他のさまざまな操作を実行できます。この記事では、C#でMicrosoftGraphAPIを使用してメッセージを作成および送信する方法を学習します。

メッセージを作成および送信するためのC#.NET Microsoft Graph API

Aspose.Email for .NETは、.NETアプリケーション内からメールを作成および送信するためのすばらしいAPIです。さらに、Microsoft Graph APIを使用して、フォルダーやメッセージなどを管理できます。このAPIを使用して、MicrosoftGraphAPIを使用してメッセージを作成および送信します。次のコマンドを使用して、APIのDLLをダウンロードするか、NuGetからインストールできます。

PM> Install-Package Aspose.Email

C#でMicrosoftGraphAPIを使用してメッセージを作成する

Graph APIと通信するには、最初にITokenProviderインターフェースを実装してリクエストを認証する必要があります。以下は、ITokeProviderの基本的な実装です。

class AccessTokenProvider : ITokenProvider
{
    DateTime expirationDate = DateTime.Now;

    public void Dispose()
    {
    }
    public OAuthToken GetAccessToken(bool ignoreExistingToken)
    {
        // oAuthアクセストークンを取得します。
        // ignoreExistingTokenがtrueの場合、サーバーに新しいトークンを要求します。それ以外の場合、動作はトークンが存在するかどうかによって異なります。
        // トークンが存在し、その有効期限が切れていない場合は、現在のトークンを返します。それ以外の場合は、サーバーに新しいトークンを要求します。
        return null;
    }
    public OAuthToken GetAccessToken()
    {
        // oAuthアクセストークンを取得します。
        // トークンが存在し、その有効期限が切れていない場合は、現在のトークンを返します。それ以外の場合は、サーバーに新しいトークンを要求します。
        return new OAuthToken("token", expirationDate);
    }
}

以下は、C#でMicrosoftGraphAPIを使用してメッセージを作成する手順です。

次のコードサンプルは、C#でMicrosoftGraphAPIを使用してメッセージを作成する方法を示しています。

// アクセストークンを生成する
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// グラフクライアントを作成する
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// 新しいメッセージを作成する
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// 受信トレイフォルダにメッセージを作成します
MapiMessage createdMessage = client.CreateMessage(Clients.Graph.KnownFolders.Inbox, mm);

C#でMicrosoftGraphAPIを使用してメッセージを送信する

次に、C#でMicrosoftGraphAPIを使用してメッセージを送信する方法を見てみましょう。

  • まず、GraphClient.GetClient(ITokenProvider、string)メソッドを使用してMicrosoftGraphクライアントのインスタンスを取得します。
  • 次に、MapiMessageクラスのインスタンスを作成します。
  • その後、メッセージの件名、本文、およびその他のプロパティを設定します。
  • 最後に、IGraphClient.Send(MapiMessage)メソッドを使用してメッセージを送信します。

次のコードサンプルは、C#でMicrosoftGraphAPIを使用してメッセージを送信する方法を示しています。

// アクセストークンを生成する
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// グラフクライアントを作成する
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// 新しいメッセージを作成する
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// メッセージを送る
client.Send(mm);

無料のAPIライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAspose.Emailfor.NETを使用できます。

結論

この記事では、Microsoft Graph APIを使用してC#でメッセージを作成および送信する方法を学習しました。 Aspose.Emailをインストールして、提供されたコードサンプルを.NETアプリケーションに統合するだけです。さらに、ドキュメントを使用して、Aspose.Emailfor.NETが提供する他の機能を確認できます。また、ご不明な点がございましたら、フォーラムに投稿してください。

関連項目