個人のGoogleアカウントはデフォルトでOAuth認証ができない
MakeからGmailやGoogleDriveなどのGoogle関連サービスへ連携する際、個人のGoogleアカウントを使用して連携しようとすると、一部のモジュール(Google Restricted connectionを必要とするモジュール)で以下のようなエラーが発生します。
「It is not possible to use restricted scopes with customer @gmail.com account. For more infomation on how to connect restricted scopes visit our documentation.」
独自ドメインのGoogle Workspaceを利用している場合は、標準で認証できるのですが、個人のGoogleアカウントと連携する場合は、Google Cloud コンソールで事前に認証設定を作成する必要があります。
本件に関するMake公式のドキュメントはこちら
今回は無料のGoogleアカウントに対してMakeから連携し、スプレッドシートを操作可能にする設定手順について解説します。
認証設定の作成手順
プロジェクトを作成する
まずは、Google Cloud コンソールにアクセスします。
https://console.cloud.google.com/
画面左上の「プロジェクトの選択」をクリックします。
モーダルが開くので、右上の「新しいプロジェクト」をクリックします。
プロジェクト名を入力してプロジェクトを作成します。
今回はプロジェクト名を「make」としています。
プロジェクトが作成できたら、改めて画面左上の「プロジェクトの選択」から、作成したプロジェクト(今回は”make”)を選択します。
利用するAPIを有効にする
画面左上の三本線アイコン(ナビゲーションメニュー)を開き、「APIとサービス」から「ライブラリ」を選択します。
今回はスプレッドシートとGoogleDriveを利用したので、”Google Sheets API”と”Google Drive API”をそれぞれ有効にします。
まずは、”google sheets”と検索します。
“Google Sheets API”が検索結果に表示されますので、クリックします。
「有効にする」をクリックし、有効にします。
同じようにライブラリの画面で”google drive”と検索し、Google Drive APIを有効にします。
OAuth同意画面を設定する
画面左上の三本線アイコン(ナビゲーションメニュー)を開き、「APIとサービス」から「OAuth 同意画面」を選択します。
User Typeを「外部」にチェックし、「作成」をクリックします。
アプリ名に「Make」と入力し、ユーザーサポートメールには、自身のメールアドレスを入力します。
承認済みドメインに以下2つを追加し、「保存して次へ」をクリックします。
・make.com
・integromat.com
「スコープを追加または削除」をクリックします。
フィルタで”google sheet”と検索します。
Google Sheets APIの参照、編集、作成、削除にチェックを入れ、「更新」をクリックします。
同じようにフィルタで”google drive”と検索し、表示、編集、作成、削除にチェックを入れ、「更新」をクリックします。
Gmailも使用するようであれば、同様の流れでGmailのスコープを一式追加します。
以下のような状態になっていればOKです。「保存して次へ」をクリックします。
テストユーザを作成します。「ADD USERS」をクリックします。
自身のメールアドレスを入力し、「追加」をクリックします。
「保存して次へ」をクリックし、設定完了です。
認証情報を作成する
画面左上の三本線アイコン(ナビゲーションメニュー)を開き、「APIとサービス」から「認証情報」を選択します。
「認証情報を作成」をクリックし、”OAuthクライアントID”を選択します。
名前を入力します。今回は”make client”としています。
“承認済みのリダイレクトURI”に以下を追加し、「作成」をクリックします。
・https://www.make.com/oauth/cb/google
・https://www.make.com/oauth/cb/google-restricted
・https://www.make.com/oauth/cb/google-custom
・https://www.make.com/oauth/cb/oauth2
・https://www.integromat.com/oauth/cb/google
・https://www.integromat.com/oauth/cb/google-restricted
・https://www.integromat.com/oauth/cb/google-custom
・https://www.integromat.com/oauth/cb/oauth2
OAuthクライアントが作成され、クライアントIDとクライアントシークレットが発行されますので、控えておきます。
これで、Google Cloud コンソールの設定は完了です。
Makeから連携してみる
Search Rowsモジュールを追加し、connectionを作成してみます。
Create a connectionウインドウ左下の「Show advanced settings」をクリックします。
先ほど控えた、クライアントIDとクライアントシークレットを入力し、「Sign in with Coogle」をクリックします。
OAuth認証を行います。
途中で、「このアプリはGoogleで確認されていません」が表示されますが、「続行」を選択し進めて下さい。
エラーにならずに接続が完了すれば、設定完了です。
注意点
Google Cloud コンソール上のプロジェクトを「テスト」ステータスのままにしておくと、毎週Make側から再認証を行う必要があります。
OAuth同意画面でプロジェクトを「本番環境」に変更しておくことで、毎週の再認証が不要になります。
「本番環境」に変更すると「確認が必要」という表示になります。
この状態でも認証が可能ですが、Make公式には、「現在、Makeでは未検証のアプリへの接続は機能しますが、Googleが未検証のアプリへの接続を無期限に許可することを保証することはできません。」と記載されています。
連携が維持されるか検証
実際に7日以上連携が維持されるか確認しました。
現在は上記の設定で7日以上連携が継続される事が確認できました。
今回は個人のGoogleアカウントに対して連携する方法を解説しましたが、
Makeを使用してGoogleサービスを用いた自動化を本格的に稼働させる場合は、独自ドメインのGoogle Workspaceに登録し、連携する形が望ましいと思います。