11.5. IM-LogicDesigner のメール受信タスクで OAuth2.0 アクセストークン を使用する¶
11.5.1. アクセストークンの発効¶
- 「設定ファイルリファレンス」 - 「プロバイダ設定」
- 「一般ユーザ操作ガイド」 - 「外部連携アプリケーション」
11.5.1.1. サービスの設定¶
11.5.1.1.1. メールサーバに Gmail を利用する場合の設定¶
11.5.1.1.1.1. プロジェクトを作成する¶
以下のURLから Google Cloud Platform の管理コンソールに Google Cloud Platform 管理者ユーザ でサインインします。
サイドメニューから「IAM と管理」 - 「プロジェクトを作成」をクリックします。
以下を入力または選択して「作成」をクリックします。
- 以上でプロジェクトの作成は完了です。
11.5.1.1.1.3. 認証情報を作成する¶
サイドメニューから「認証情報」をクリックします。
「同意画面を構成」をクリックします。
任意の「User Type」を選択し、「作成」をクリックします。
以下を入力して「保存して次へ」をクリックします。
「スコープを追加または削除」をクリックし、 Gmail API をスコープに追加します。利用用途にあわせてスコープを選択してください。スコープを追加したら、「保存して次へ」をクリックします。
「ADD USERS」をクリックし接続テストを行うユーザを追加し、「保存して次へ」をクリックします。以上で、OAuth 同意画面の設定は完了です。次に OAuth クライアントID を作成します。
サイドメニューから「認証情報」をクリックします。
「認証情報を作成」をクリックし、「OAuth クライアント ID」を選択します。
以下を入力または選択して「作成」をクリックします。
以上で認証情報の作成が完了です。
11.5.1.1.2. メールサーバに Exchange Online を利用する場合の設定¶
11.5.1.1.2.1. アプリケーションを登録する¶
以下のURLから Microsoft Azure の管理ポータルに Microsoft Azure 管理者ユーザ でサインインします。
サイドメニューから「Microsoft Entra ID」をクリックします。
現在のテナントが「 OAuth認証を利用する組織のテナント」ではない場合は「テナントの切り替え」を行います。
「概要」のサイドメニュー「管理」の「アプリの登録」をクリックします。
「新規登録」をクリックします。
以下を入力または選択して「登録」をクリックします。
以上でアプリケーションの登録は完了です。
11.5.1.1.2.2. アプリケーションを設定する¶
先程登録したアプリの「管理」の「APIのアクセス許可」をクリックします。
「アクセス許可の追加」をクリックします。
「 Microsoft Graph 」をクリックします。
「アプリケーションに必要なアクセス許可の種類」の「委任されたアクセス許可」をクリックします。
offline_access と、利用用途にあわせ IMAP.AccessAsUser.All または POP.AccessAsUser.All を選択し、「アクセス許可の追加」をクリックします。
コラム
「APIアクセス」の「アクセスの有効化」にて「委任されたアクセス許可」におけるメール操作の許可設定についての詳細は Microsoft社 の以下のドキュメントを参照してください。
- Microsoft Graph permissions reference :
「管理」の「証明書とシークレット」をクリックします。
「クライアント シークレット」の「新しいクライアント シークレット」をクリックします。
intra-mart Accel Platform からアクセスする際に必要なキーを生成します。
以上でアプリケーションの設定は完了です。
11.5.1.2. プロバイダ情報を設定する¶
IM-Juggling プロジェクトの「追加機能」 - 「外部システム連携機能」 - 「 OAuth クライアント 」モジュールを選択します。
「設定ファイル」タブを開き、「 OAuth クライアント 」 - 「メールサーバOAuth2認証設定」を選択して「出力」ボタンをクリックします。
「メールサーバOAuth2認証設定」を利用するサービスにあわせて設定します。
Gmail API を利用する場合Gmail API を利用する場合は設定ファイルの以下の部分のコメントアウトを外し、各項目の設定を行って保存します。<oauth-provider id="Please_input_your_ID"> <provider-type>extra</provider-type> <name message-cd="CAP.Z.IWP.OAUTHCLIENT.GMAIL.XOAUTH.NAME">Gmail API</name> <description message-cd="CAP.Z.IWP.OAUTHCLIENT.GMAIL.XOAUTH.DESCRIPTION">It is allow the use of the Gmail API.</description> <icon-path>im_oauth_client/images/gmail.png</icon-path> <oauth-config> <authz-end-point>https://accounts.google.com/o/oauth2/auth</authz-end-point> <token-end-point>https://oauth2.googleapis.com/token</token-end-point> <client-id>[Please input your application's Client ID]</client-id> <client-secret>[Please input your application's Client Secret]</client-secret> <scope>https://mail.google.com/</scope> </oauth-config> <extra-config> <parameter name="access_type">offline</parameter> </extra-config> </oauth-provider>
oauth-provider@id 任意のIDを設定します。 client-id Google Cloud Platform で作成したプロジェクトの認証情報のクライアントIDを設定します。 client-secret Google Cloud Platform で作成したプロジェクトの認証情報のクライアントシークレットを設定します。 scope 利用用途にあわせて必要に応じて変更します。詳しくは Gmail scopes を参照してください。
Exchange Online を利用する場合Exchange Online を利用する場合は設定ファイルの以下の部分のコメントアウトを外し、各項目の設定を行って保存します。<oauth-provider id="Please_input_your_ID"> <provider-type>standard</provider-type> <name message-cd="CAP.Z.IWP.OAUTHCLIENT.EXCHANGE.NAME">Exchange Online Provider</name> <description message-cd="CAP.Z.IWP.OAUTHCLIENT.EXCHANGE.DESCRIPTION">It is allow the use of Exchange Online.</description> <icon-path>im_oauth_client/images/microsoft_exchange_48.png</icon-path> <oauth-config> <authz-end-point>https://login.microsoftonline.com/[Please input your tenant]/oauth2/v2.0/authorize</authz-end-point> <token-end-point>https://login.microsoftonline.com/[Please input your tenant]/oauth2/v2.0/token</token-end-point> <client-id>[Please input your application's Client ID]</client-id> <client-secret>[Please input your application's Client Secret]</client-secret> <scope>offline_access [Please input your application's scope. See : https://docs.microsoft.com/ja-jp/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#get-an-access-token]</scope> </oauth-config> </oauth-provider>
oauth-provider@id 任意のIDを設定します。 authz-end-point Microsoft Azure で作成したアプリケーションのディレクトリIDを設定します。 token-end-point Microsoft Azure で作成したアプリケーションのディレクトリIDを設定します。 client-id Microsoft Azure で作成したアプリケーションのアプリケーションIDを設定します。 client-secret Microsoft Azure で作成したアプリケーションの認証情報のクライアントシークレット値を設定します。 scope 利用用途にあわせて設定します。詳しくは アクセス許可のスコープの文字列 を参照してください。セットアップ時の設定は以上です。
11.5.1.3. 連携許可を行う¶
メール操作の対象ユーザで intra-mart Accel Platform にログインしてください。
ユーティリティメニューより、「個人設定」-「外部連携アプリケーション」を選択します。
「プロバイダ情報を設定する」で作成したプロバイダ情報の「許可」をクリックします。
アプリケーションの認証画面に遷移します。サインイン、および許可を行ってください。
以下の画面が表示されれば連携が完了です。
コラム
アクセストークンの期限切れなどで再発行を行う場合は、「解除」で一度連携を解除すると、「許可」がクリックできます。
11.5.1.4. IM-LogicDesigner メール操作タスク(IMAPメッセージの取得)の設定例¶
連携許可を行ったユーザで 「サイトマップ」→「LogicDesigner」→「フロー定義一覧」に遷移します。「LogicDesigner」の操作には「LogicDesigner管理者」のロールが必要です。 「ロジックフロー新規作成」をクリックし、以下のタスクを使用したフローを作成します。取得したメッセージを格納する変数も用意します。
- アクセストークンの取得タスクと、IMAPメッセージの取得タスクに渡す値を入出力設定で定義しています。
- IMAPメッセージの取得タスクの返却値を格納する変数を変数設定で定義しています。
- アクセストークンの取得タスクのマッピングで入力値を渡しています。
- IMAPメッセージの取得タスクのマッピングで、アクセストークンの取得タスクの返却値と、入力値を渡しています。
- IMAPメッセージの取得タスクからの返却値を、変数操作で変数「temp」にセットしています。
- 変数「temp」を、変数操作で変数「result」にプッシュしています。
「デバッグ」をクリックしてデバッグ画面を呼び出します。
「実行」をクリックして、入力値を設定画面を呼び出し、「実行」します。
providerId 「プロバイダ情報を設定する」で設定した id を設定します。 providerType 「プロバイダ情報を設定する」で設定した provider-type を設定します。 authentification true を設定します。 user 「連携許可を行う」でサインインしたユーザを設定します 。 folder IMAPメッセージの取得タスク の folder から目的に合った値を設定します。 seen IMAPメッセージの取得タスク の seen から目的に合った値を設定します。 host サービスのIMAP設定に合わせて設定します。Gmail Check Gmail through other email platforms を参照してください。Exchange Online POP3 と IMAP4 を参照してください。port サービスのIMAP設定に合わせて設定します。Gmail Check Gmail through other email platforms を参照してください。Exchange Online POP3 と IMAP4 を参照してください。ssl サービスのIMAP設定に合わせて設定します。Gmail Check Gmail through other email platforms を参照してください。Exchange Online POP3 と IMAP4 を参照してください。starttls サービスのIMAP設定に合わせて設定します。Gmail Check Gmail through other email platforms を参照してください。Exchange Online POP3 と IMAP4 を参照してください。終了後、変数「result」にメッセージが格納できれば成功です。