トライアルの開始

2019年12月10日

Google GSuiteアクティビティ(認証)の徹底解説

10 12月 2019

Google GSuiteアクティビティ(認証)の徹底解説

こんにちは。
UiPath株式会社の洪です。

 

Google GSuiteアクティビティがUiPath Go!とオフィシャルフィードにリリースされたことで、Googleカレンダー、Googleドライブ、Googleスプレッドシート及びGmailなどのGoogle Cloud GSuiteアプリの自動化が簡単になりました。

一方でGSuiteアクティビティを利用するためには、Google側のAPI許可、認証等の設定を行う必要があります。そこで今回は多くお問い合わせのある認証設定に関して、詳しく解説いたします。

事前準備

1.Google GSuiteアクティビティをインストールする必要があります。Studioの「パッケージを管理」ボタンをクリックします。

image2019-11-5_12-28-13

 

別ウィンドウで開かれた設定画面の左メニューの「Official」をクリックして選択します。次に、検索窓に「GSuite」と入力します。検索結果欄に表示された「UiPath.GSuite.Activities」をクリックして選択します。
右メニューの「インストール」ボタンをクリックしてパッケージをインストールします。最後に、「保存」ボタンを押して完了です。なおSaveの際に、ライセンス確認がありますので、一読してから同意しましょう。

image2019-11-5_12-26-47

 

2.Google Cloud Platformにサインインし、Google GSuite各アプリケーションへのAPIアクセスを有効にします。

 ①以下の手順通りに、プロジェクトを新規作成します。※既に存在する場合、新規作成は不要となります
    ※Google Cloudのプロジェクトの作成、管理ガイド

image2019-11-6_18-27-25

 

image2019-11-6_18-29-19

 

 ②以下手順の通りに「APIライブラリ」画面を開き、操作対象APIアクセスを有効にします。
    Google CalendarGoogle Drive及びGoogle Sheets等のAPIを使用したい場合、同じ方法で有効にしてください。

image2019-11-6_18-43-22

 

image2019-11-6_18-40-55

 

GSuiteアプリケーションスコープと認証方式

「GSuite アプリケーションスコープ」は、認証情報を設定するためのアクティビティです。「UiPath.GSuite.Activities」パッケージの各アクティビティは、必ず「GSuite アプリケーションスコープ」アクティビティのスコープに入れないといけません。

 

「GSuite アプリケーションスコープ」が下記三つの認証タイプをサポートします

image2019-12-10_16-43-0

APIキー

スプレッドシートの読み取る操作しかできませんので、使う場面が少ないため、今回APIキー認証の説明は割愛させていただきます。

 

OAuthクライアントID認証の設定方法

 1.OAuthクライアントIDを作成します。

   ①Google Cloud Platformにサインインし、以下手順の通りに認証情報画面を開きます。

image2019-10-19_23-46-2

 

 ②「認証情報を作成」ボタンをクリックし、表示されたメニューにある「OAuthクライアントID」項目をクリックします。

image2019-11-4_15-20-12

 

 ③名前を入力し、作成ボタンを押します。

image2019-10-19_23-30-23

 

2. OAuth同意画面を作成します。

  ①以下手順の通りにOAuth同意画面を開きます。

 

image2019-11-4_14-56-42

 

  ②アプリケーション名、サポートメールを入力します。

image2019-11-4_14-58-16

 

   ③「スコープを追加」ボタンを押します。

image2019-11-4_14-59-34

 

  ④検索欄に「Gmail API」を入力し、「Enter」キーを押します。一覧に検索されたAPIにチェックを入れて、画面右下部の「追加」ボタンを押下します。

image2019-11-4_15-5-46

 

  ⑤「保存」ボタンを押します。

image2019-11-4_15-10-21

 

 

3.以上でOAuthクライアントIDの設定は完了です。GSuiteApplicationScopeアクティビティを設定して検証してみます。

  ①認証情報画面を開き、作成したOAuthクライアントIDの「鉛筆」アイコンをクリックします。

image2019-11-4_15-22-22

 

  ②以下手順の通りに、表示されたGSuiteApplicationScopeアクティビティのプロパティを設定します。
      ※サンプルは明文で設定しましたが、以下方法でクライアントIDとクライアントシークレット値を管理するのはお勧めです。
       UiPath Orchestratorのアセットに保存する
       Windows資格情報に保存する
       Excelなどに保存する

image2019-11-20_17-42-27

 

    ③UiPath.GSuite.Activities.SendEmailアクティビティで送信テストしてみます。

image2019-10-19_23-55-1

 

  ワークフローを実行したら、Googleのログオンダイアログが表示されます。

image2019-11-3_22-53-18

 

  Gmail操作の確認ダイアログが表示され、「許可」を押します。

image2019-11-3_22-55-56

 

 「許可」を押します。

image2019-11-3_22-58-51

 

ジョブ処理が続きました。確認してみると、テスト送信メールが正常に届きました。

image2019-11-3_23-1-13

 

  補足:
   一つの「GSuite アプリケーションスコープ」が繰り返し実行される場合、許可情報が保持できますので、次回ジョブを実行する場合、確認ダイアログが表示されません。
   ただし、異なる「GSuite アプリケーションスコープ」が実行されたら、毎回許可画面が表示されますので、Attended Robotの自動化に推奨されます。Parallel(並列)の
   アクティビティを使用して、許可処理を並列で横並びに作成すれば、手動許可処理も省けます。

 

サービスアカウントキーの設定方法

1.下記手順でサービスアカウントキーを作成します。 

  ①Google Cloud Platformにサインインし、認証情報画面を開きます。

 

  ②「認証情報を作成」ボタンをクリックし、表示されたメニューにある「サービスアカウントキー」項目をクリックします。

image2019-11-3_23-23-35

 

  ③サービスアカウント名を入力し、任意の権限を指定します(今回は「Project参照者」に設定しました)。

    JSONとP12どちらのキータイプも使えますが、今回はJSONタイプにしました。

image2019-11-3_23-30-0

 

  ④作成された.jsonキーファイルが自動にダウンロードされました。

image2019-11-4_1-4-20

 

2.Domain-wide権限をService Accountへ付与します。

 ※Googleの設定ガイド

   ①Google管理コンソール画面を開き、「セキュリティ」メニューをクリックします。

image2019-11-4_1-5-55

 

  ②セキュリティ画面の「詳細設定」メニューをクリックし、「API クライアント アクセスを管理する」項目をクリックします。

image2019-11-4_1-10-11

 

  ③API クライアント アクセスを管理する画面にて、APIアクセス許可を追加します。
     クライアント名:作成された.jsonキーファイルにある「client_id」
     1つ以上のAPIスコープ:https://mail.google.com/
     ※他のGoogleサービスのAPIスコープはAPIスコープガイドをご参照ください。

image2019-11-6_19-23-21

 

3.以上でサービスアカウントキーの設定は完了です。GSuiteApplicationScopeアクティビティを設定し、送信処理を実行してみます。

image2019-11-20_18-12-33

 

 処理が正常に終了し、テスト送信メールが正常に届きました。

image2019-11-4_14-10-47

 

補足
Googleドライブ、スプレッドシート及びカレンダを操作する場合、Domain-wide権限をService Accountへ付与せず、個人GSuiteアカウントでも使える方法があります。
こちらの手順は、以下の通りとなります。
①上記同じ手順で、個人GSuiteアカウントのサービスアカウントキーファイルを作成します。
②操作対象のGoogle ドライブのフォルダ、スプレッドシートファイル等を手順①で作ったサービスアカウントキーファイルにあるclient_emailに共有します。

image2019-11-20_18-22-2

 

 

おわりに

今回は、主にGSuite アプリケーションスコープの認証方式とGoogle側の設定方法を紹介いたしました。

便宜上Gmail送信処理を例として説明しておりますが、Gmailの送受信処理はUiPath.Mail.ActivityパッケージのSMAPメール送信/IMAPメール受信アクティビティの方がさらに使いやすいです。Googleドライブとカレンダの自動化処理は、Google GSuiteアクティビティのご利用をお勧めします。

 


by Xin Hong

TOPICS: Learning RPA, RPA, Google G Suite

Show sidebar