winactorで「gmail.comのOauth2認証でメール送信する」シナリオのテスト
無償のGoogleアカウント(@gmail.com)から送信できるかテストしました。
Gmail 送受信シナリオ作成マニュアルを参照
インストールしたフォルダのなかにWinActor_Documents\Japanese\Manual_by_Function\WinActor_Gmail_Scenario_Manual.pdfがあります。
WinActor でサポートしているGmailの認証方式は、送受信時のいずれもOAuth2認証です。
OAuth2認証って?
そのメールソフト、OAuthに対応していますか!? https://ingage.jp/media/cs/1966
上記のページによると、従来はメーラーに「IDとパスワード」を保管して、サーバーに認証していたが、サーバーが発行する「アクセストークン」を利用して認証する仕組みです。
上記はメールについての解説ですが、メール以外のサービスでも、OAuth認証は利用できます。
ThunderbirdはOAuth2認証に対応しているクライアントアプリケーション
OAuth2認証は各アプリケーションが対応しているかどうかで利用できます。メールクライアントソフトのThunderbirdはOAuth2認証に対応しています。
下記のページのように設定することで、ThunderbirdにGmailのサーバーからアクセストークンを付与できます。(Thunderbirdはパスワードを保持するのではなく、アクセストークンを保持する)
実際にThunderbirdに設定してみた
メールアカウントをOAuth2認証で追加すると、Thunderbirdアプリケーション内のブラウザでGoogleログイン画面が表示され、メールアドレスとパスワードでログインすると、Thunderbirdに許可する画面が表示されした。「許可」をクリックすると正常に認証されました。
IMAPを有効にしたGoogleアカウントで、有償のGoogleWorkspaceのアカウントと無料のGoogleアカウントの両方とも問題なく設定できました。
WinActor 7.2.1はOAuth2認証に対応しているクライアントアプリケーション
認証情報はシナリオには含まれません。WinActorのアプリケーションに含まれます。
WinActorの設定画面を見てみる
WinActorを起動し、メニューバーの[ツール]-[Googleサインイン]をクリックします。
「クライアントID」と「クライアントシークレット」というのが必要です。(Thunderbirdでは不必要だったのはなぜでしょう?Google側が認めてるソフトだから?IMAPだから? 詳しい仕組みはわかりません…)
OAuth クライアント IDを作成してみる
無償のgmail.comアカウントで試しました。
Google Developers Consoleでプロジェクトを作成
https://console.cloud.google.com/apis/ にアクセスします。
初回は確認ダイアログが表示されます。
プロジェクトの選択→新しいプロジェクトをクリックします。
プロジェクト名を入力し、作成をクリックします。
[Oauth同意画面]で外部を選択し、作成をクリックします。
アプリ名とメールアドレスを入力して、保存して次へをクリックします。
認証情報を作成
[認証情報]をクリックし、認証情報を作成→OAuthクライアントIDをクリックします。
[アプリケーションの種類]はデスクトップアプリを選択し、[名前]を入力し、作成をクリックします。
OAuthクライアントが作成されました。
クライアントIDとクライアントシークレットをコピーしておきます。
WinActorでサインインしてみる
値をコピペし、サインインをクリックします。
プロジェクトを作成したgmailアカウントでログイン
ログインしましたが、「承認エラー」になりました。
OAuth同意画面でテストユーザーを追加
OAuth同意画面を確認したところ、公開ステータスは、「テスト」でした。テストユーザーを追加する必要があるみたいです。(アプリのステータスを「本番環境」に設定すると、Google アカウントを持つすべてのユーザーがアプリを利用できるようになります。OAuth 画面の構成方法に応じて、検証を受けるためにアプリの送信が求められることがあります。)
[ADD USERS]からプロジェクトを作成したgmailアカウントを追加しました。
プロジェクトを作成したgmailアカウントでログイン(再)
再び、プロジェクトを作成した無償のgmailアカウントでログインしてみると、今度は、テスト中の画面表示になりました。Continueをクリックします。
権限の付与の確認画面で「許可」をクリックします。もう一度、確認画面が表示され「許可」をクリックします。
アクセストークンとリフレッシュトークンが「設定済み」になりました。「閉じる」をクリックします。
Gmail送信するシナリオを作成
Gmail送信ライブラリを追加します。
宛先を入力します。
Gmail送信するシナリオを実行
シナリオを実行(F5)、または、部分実行します。
正常にメールが送信できました
シナリオが正常終了し、宛先の受信トレイに届いていました。
ここまで実行してみて思ったのですが、Thunderbirdが簡単に認証できるのは、Thunderbirdの作成者が、OAuthのプロジェクトを本番環境で公開していて、アクセスに必要な「クライアントID」と「クライアントシークレット」をThunderbirdのソフトウェアのなかで、自動的にセットしているのかもしれません。APIの制限や利用料はないのだろうか?WinActorも同様のことはできないのだろうか???
以上です。
ディスカッション
コメント一覧
まだ、コメントがありません