Microsoft Exchange Online連携テンプレート(RESTコンポーネント利用)

Microsoft Exchange Onlineからメールを送受信するテンプレートを紹介します。

まずはテンプレートファイルをダウンロードし、フローデザイナーにインポートします。

__1.png

__2.png

<事前準備>

事前に以下を準備してください。

①クライアントID

②クライアントシークレット

③リダイレクト URI

④AuthorizationCode

⑤件名(テキストファイル)

⑥本文(テキストファイル)

⑦宛先(CSVファイル)

 

・①,②,③の準備方法

Azure ADでクライアントID、クライアントシークレットを取得する必要があります。取得方法はこちらの記事をご確認ください。

https://support.asteria.com/hc/ja/articles/360000061134

 

テンプレートフロー内で指定しているスコープはmail.read、mail.send、offline_accessです。

 

・④の準備方法

取得したクライアントIDを元にブラウザで以下URLにアクセスし、アカウント認証及び権限付与を行ってください。完了後の画面に表示されるコードが③AuthorizationCodeです。

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?

client_id=[クライアントID]&response_type=code&redirect_uri=[リダイレクトURI]&response_mode=query&scope=https://graph.microsoft.com/mail.read https://graph.microsoft.com/mail.send offline_access &state=12345

※URL内[クライアントID]、[リダイレクトURI]には①のクライアントID、リダイレクトURIをそれぞれ入力してください。

※サインイン画面や同意画面が表示されたら、表示内容に従って操作してください。

__3.png

正常に動作すると、設定したリダイレクトURIに遷移しブラウザのアドレスバーを確認します。“code=”より右側、"&state"の直前までの文字列がAuthorization Codeです。

・⑤,⑥の準備

それぞれ件名、本文の内容をテキストファイルとして準備してください。

・⑦の準備

1列目に送信先メールアドレスを指定したCSVファイルを用意してください。

 

〇メール送受信

__4.png

<ステップ1>

事前準備で用意したクライアントID、クライアントシークレット、AuthorizationCodeをそれぞれ入力します。

 

<ステップ2>

テナントでは、アプリケーションにサインインできるユーザーを制御します。使用できる値は、common、organizations、consumers およびテナント識別子です。

common:個人の Microsoft アカウントと Azure AD の職場/学校アカウントのどちらでもアプリケーションにサインインできます。

organizations:Azure AD の職場/学校アカウントを持つユーザーのみがアプリケーションにサインインできます。

consumers:個人の Microsoft アカウント (MSA) を持つユーザーのみがアプリケーションにサインインできます。

テナント識別子:特定の Azure AD テナントの職場/学校アカウントを持つユーザーのみがアプリケーションにサインインできます。

 

redirect uriでは事前準備で登録したリダイレクトURIを入力してください。

 

<ステップ3>

件名のファイルパスとエンコーディングをそれぞれ選択します。

 

<ステップ4>

本文のファイルパスとエンコーディングをそれぞれ選択します。

 

<ステップ5>

宛先のファイルパスとエンコーディングをそれぞれ選択します。

 

これで完成です。

__5.png

最初にAccessTokenを取得する”getTokenByCode”フローを実行し、AccessToken及びRefreshTokenを取得し、ファイル保存してください。

 

保存したトークンを利用してメール送受信を行います。”sendMail”フローを実行することで、メール送信を行い、”recieveMail”フローを実行することで、メール受信を行います。

 

<注意事項>

【getTokenByCode】

・Authorization Codeの有効期限が切れている場合は、「④の準備方法」を再度行い、フロー変数”code”の値を更新してください。

・本テンプレートでは、リフレッシュトークンを用いたアクセストークンの更新を行っています。リフレッシュトークンを取得するためには、スコープにoffline_accessを追加することが必要です。

【recieveMail】

・メールを50件ずつ取得する処理を最大100回繰り返すため、5千件まで取得可能です。5千件以上取得する場合は、”LoopStart1”コンポーネントの実行回数を調整してください。

・1回のリクエストで取得するメール件数は、フロー変数”url”の”$top=50”で決まります。”50”を取得したい件数に書き換えることができます。

・取得したメール情報はプロジェクトフォルダにあるCSVファイル「maillist.csv」に書き込まれます。

・本文はテキストで取得し、プロジェクトフォルダにある「Body」フォルダ配下に配置されます。

・添付ファイルはプロジェクトフォルダにある「attachment」フォルダ配下に配置されます。

【共通】

・テンプレートはサポート対象外です。

・フローテンプレートをご利用の際は、動作環境や実現したい処理に応じてお客様自身でフローを調整いただく必要がございます。あらかじめご了承ください。

・APIの詳細はMicrosoft Graph REST APIのリファレンスをご確認ください。

 

---

作成日:2022/02

ASTERIA Warpバージョン:2112

---

 

以上、Microsoft Exchange Onlineからメール送受信するフローテンプレートを紹介しました。

ぜひご活用ください。

exchange.zip
ダウンロード
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する