日曜エンジニア

仕事・趣味のメモ置き場です。皆様のお役に立てれば幸いです。

【GoogleAppsScript】実行可能API(Execution API)の初期設定でハマったので流れをメモする

概要

GoogleAppsScript(GAP)で書いたコードを外部から実行させようとGSPのスクリプトコンソールから[実行可能APIとして導入...]をクリックした際、以下のエラーが出て前に進められなくなった。
スクリーンショット 2019-06-09 11.31.09.png

ユーザが管理する Cloud Platform プロジェクトが必要です

結論

GoogleCloudPlatform(GCP)のプロジェクトを手動でGSPのプロジェクトで関連づける設定が未実施だったため上記のメッセージが出力していました。
※2019年4月8日 GAPとGCPの連携に仕様変更があり、以前だとGAPでのプロジェクト作成時に自動でGCP側のプロジェクトが紐づいていたが、今現在(2019/06/09)だとその機能が無効になっている。
https://developers.google.com/apps-script/guides/cloud-platform-projects

確認方法

  1. GAS側操作)外部公開したいコード(実行可能APIとして設定したいGASプロジェクト)のWebコンソール画面を開く
  2. GAS側操作)上段の[リソース]=>[Cloud Platform プロジェクト]を選択
  3. GAS側操作)以下画像と同じく、プロジェクト番号が空になっていることを確認
スクリーンショット 2019-06-09 11.59.23.png

この状態だと、GCP側のリソースや機能を連携して利用することができない状態になっています。つまり、本事象と合致している可能性があります。

設定方法

  1. GCP側操作)GCPよりAPIを公開する際に紐付けるプロジェクトを開く(GCPの初回登録やプロジェクトの作成方法は省略)
  2. GCP側操作)ダッシュボードより[プロジェクト情報]=>[プロジェクト番号]をコピー
  3. GAS側操作)GCP側で認証情報設定を完了させてください。という旨の表示が出る。
  4. GCP側操作)[APIとサービス]=>[認証情報]を選択
  5. スクリーンショット 2019-06-09 12.14.21.png
  6. GCP側操作)[認証情報]を参考記事等を拝見させていただきつつ設定
  7. GCP側操作)[OAuth同意画面]を[参考記事]参考記事等を拝見させていただきつつ設定
  8. GAS側操作)確認方法-3で表示したGAP側のフォームにプロジェクト番号を貼り付け、[プロジェクトを設定]をクリック
  9. スクリーンショット 2019-06-09 12.28.30.png
  10. GAS側操作)紐づいたら上記9のようにGCPのプロジェクト名が表示される
  11. GSPのスクリプトコンソールから[実行可能APIとして導入...]を実行した際のエラーは解消を確認ください