Google スプレッドシートのアドオンを公開するまで
Google スプレッドシートは、GAS を利用して手軽に様々な処理を自動化できるのが魅力的です。このような便利な GAS は、Google Workspace Marketplace にアドオンとして公開することができ、全世界の人に使ってもらうことができます。
しかし、GAS をアドオンとして公開するには、Google による認証を 2 回受ける必要があるなど、かなりの手間がかかります。その上、日本語のドキュメントもあまり整備されていません。そこで、この記事では、GAS プロジェクトをアドオンとして公開するまでの手順をできるだけ詳細に解説したいと思います。
なお、アドオン本体の実装が終わった状態で、申請を始めてから承認されるまでは少なくとも 2 週間は見た方が良いと思います。結構大変です。
スクリプト本体の作成
当たり前ですが、アドオンを公開するには、アドオンのプログラムが書かれた Apps Script プロジェクトが必要です。これは Google スプレッドシートに付随している Apps Script プロジェクトで構いません。
なお、アドオンの動作中にメニューなどの UI が表示される場合、そのテキストは英語で書かれている (もしくは英語に切り替えができる) 必要があります。日本語にしか対応していないと却下されます。
スクリプトのデプロイ
プログラムが完成したら Apps Script プロジェクトをデプロイしましょう。デプロイしたものがアドオンとして公開されます。
- Apps Script プロジェクトのページを開く
- 右上の「デプロイ」ボタンから「新しいデプロイ」を選択
- 「種類の選択」欄で「アドオン」を選択
- フォームを埋めて「デプロイ」をクリック
- 「完了」をクリック
情報ページの作成
プロジェクトをアドオンとして公開する際に、以下の 3 つの内容が英語で記された Web ページを要求されます。あらかじめ作って公開しておきましょう。
- アドオンの利用規約
- アドオンのプライバシーポリシー
- サポートの問い合わせ先 (お問い合わせフォームなどでも可)
この内容を公開する場所は基本的にどこでも大丈夫です。しかし、アドオンの作者が作成したものであることを Google に証明するために、ドメインに DNS レコードを設定する必要が出てきます。したがって、自由に DNS レコードを設定できないドメイン (例えばブログサービスのドメインなど) に公開するのは避けましょう。
画像類の作成
申請中に以下の画像を要求されるので、あらかじめ作成しておきましょう。
- ロゴ (120×120)
- アイコン (32×32, 128×128)
- カードバナー (440×280)
- スクリーンショット最低 4 枚 (大きさ自由)
ドメイン所有権の承認
上記の内容が書かれたページのドメインの所有権を Google に認めてもらう必要があります。
- Google Search Console にアクセス
- 登録するドメインを入力して「続行」をクリック
- 画面の指示通りに該当ドメインに TXT レコードを設定
- 「確認」をクリック
GCP プロジェクトを作成
Apps Script プロジェクトには、裏で自動的に作られた Google Cloud Platform プロジェクトがデフォルトで紐付けられています。しかし、このままではアドオンとして公開するための各種情報を入力できないので、新たに Google Cloud Platform プロジェクトを作成し、Apps Script プロジェクトに紐付ける必要があります。
- Google Cloud のリソース管理ページにアクセス
- 「プロジェクトを作成」をクリック
- プロジェクト名などを入力して「作成」をクリック
- リソースのリストに追加された該当プロジェクトの右にあるメニューから「設定」を選択
- プロジェクト番号 (12 桁の数字) を確認
最後の手順で確認したプロジェクト番号は後で使うので、適当な場所にメモしておいてください。
OAuth スコープの確認
ほとんどの場合、アドオンの処理の中にはユーザーへの確認が必要なものが含まれています。例えば、スプレッドシートのデータを読み込んだり、サイドバー表示のために HTML を描画したり、外部 API を呼び出したりなどです。このような処理は「OAuth スコープ」と呼ばれるもので分類されています。使用している OAuth スコープは以下の手順で確認できます。
- Apps Script プロジェクトのページを開く
- 左メニューの「概要」を選択
- 画面下の「プロジェクトの OAuth スコープ」欄の内容を確認
ここで確認した OAuth スコープは後で何度か入力することになるので、適当な場所にメモしておいてください。
OAuth 同意画面を作成
ユーザーがアドオンをインストールすると、初回作動時に特定の OAuth スコープの処理を実行することを承認するダイアログが表示されます。アドオンを公開するには、このダイアログの設定を行い、Google に承認してもらう必要があります。
OAuth 同意画面の編集ページへ
- Google Cloud Platform プロジェクトのページを開く
- 「API とサービス」ページに移動
- 左メニューの「OAuth 同意画面」を選択
- 「User Type」欄で「外部」を選択して「作成」をクリック
「OAuth 同意画面」タブ
- フォームを埋めて「保存して次へ」をクリック
ここの「承認済みドメイン」には最初に所有権の承認してもらったドメインを入力してください。
「スコープ」タブ
- 「スコープの追加または削除」をクリック
- 「スコープの手動追加」欄に確認しておいた OAuth スコープを改行区切りで入力し「テーブルに追加」をクリック
- 該当 OAuth スコープがチェックされてるのを確認して「更新」をクリック
- 「保存して次へ」をクリック
「テストユーザー」タブ
- テストユーザーが必要なら指示に従ってテストユーザーを追加
- 「保存して次へ」をクリック
「概要」タブ
- 内容を確認したら「ダッシュボードに戻る」をクリック
- 「公開ステータス」欄が「テスト」になっていることを確認
GCP プロジェクトを設定
設定した Google Cloud Platform プロジェクトを Apps Script プロジェクトに紐付けます。
- Apps Script プロジェクトのページを開く
- 左メニューの「プロジェクトの設定」を選択
- 「Google Cloud Platform (GCP) プロジェクト」欄の「プロジェクトを変更」をクリック
- 「GCP のプロジェクト番号」欄に確認しておいたプロジェクト番号を入力
- 「プロジェクトを設定」をクリック
YouTube 動画を作成
この後、今設定した OAuth 同意画面の正当性を Google に承認してもらう必要がありますが、その際にアドオンの動作の様子をキャプチャした YouTube 動画を要求されます。したがって、動画を用意して YouTube にアップロードする必要があるわけですが、この際に以下の 2 点に注意してください。
キャプチャ動画中では OAuth 同意画面が開かれる必要があります。しかし、だいたいはアプリの開発中にすでに同意してしまっているので、新たに同意画面が開かれません。こちらにアクセスして、一旦アクセス権を削除してください。
また、動画中のテキストは全て英語になっている必要があります。日本語だと却下されます。これは OAuth 同意画面も例外ではないので、あらかじめアカウントの言語設定を英語にしておきましょう。
キャプチャ動画を作る際は、以下の手順でアドオンとしてインストールされた環境で実行できるので、この環境で操作するのをおすすめします。
- Apps Script プロジェクトのページを開く
- 左メニューの「エディタ」を選択
- 画面右上の「デプロイ」をクリックして「デプロイをテスト」を選択
- 「種類を選択」欄で「エディタのアドオン」を選択
- 「最新のコード True」となっている項目を選択して「実行」を選択
- スプレッドシートが新しく開くので実際に操作する様子をキャプチャ
撮影したキャプチャ動画は YouTube に限定公開でアップロードしてください。動画の URL を後で入力する必要があるので、適当な場所にメモしておいてください。
OAuth 同意画面のステータスを公開に
OAuth 同意画面を公開設定にして、Google の承認を受けます。
- Google Cloud Platform プロジェクトの OAuth 同意画面ページを開く
- 「公開ステータス」欄の「アプリを公開」をクリック
- ダイアログが開くので「確認」をクリック
- 「確認を準備する」をクリック
- 画面を進める
ここで、「スコープ」タブに「スコープの使用方法」と「デモ動画: スコープの使用方法」欄が増えています。「デモ動画」欄にはあらかじめ公開しておいた YouTube 動画の URL を入力します。
「スコープの使用方法」欄には、入力したスコープがなぜ必要なのかを英語で説明する必要があります。例えば以下のように入力します。
- https://www.googleapis.com/auth/script.container.ui
This application uses this scope to show the sidebar
where the users can configure the settings.
(以下スコープの分だけ説明を書く)
- 以上を入力したら画面を進めて最後に「確認」をクリック
- 審査が行われるので待機
審査は数日かかるとされていますが、だいたい 1 日で返事が来ます。却下された場合、メールに理由が記載されているので、内容を修正しつつ上の手順をもう一度行い、再申請しましょう。
Marketplace へ公開
次に、アドオンを Google Workspace Marketplace に公開するための承認を受ける必要があります。
Marketplace SDK の有効化
- Google Cloud Platform プロジェクトのページを開く
- Google Workspace Marketplace SDK を有効化
- Google Workspace Marketplace SDK の設定画面を開く
構成設定
- 「アプリの構成」タブを開く
- 「アプリの統合」欄で「スプレッドシートのアドオン」にチェック
- スクリプト ID とスクリプトバージョンを入力
スクリプト ID は、Apps Script プロジェクトの設定ページで確認できます。
スクリプトバージョンは、Apps Script プロジェクトのページから「デプロイ」→「デプロイを管理」で確認できます。一番上の「バージョン」欄に表示されている「バージョン X」の「X」部分の数字がスクリプトバージョンです。デプロイ ID ではありません。
- 「OAuth スコープ」欄に前に確認した OAuth スコープを全て追加
最初から OAuth スコープが 2 つ入力されていますが、これはそのままにして、この下に新たに追加してください。
- 「デベロッパー情報」欄のフォームを埋める
- 「保存」をクリック
掲載情報設定
- 「ストアの掲載情報」タブを開く
- フォームの必須項目をすべて埋める
「アプリの詳細」欄には「簡単な説明」と「詳細な説明」を入力します。「簡単な説明」欄ではアドオンがどのような処理を行うのかを簡単に説明し、「詳細な説明」にはそれに加えてアドオンの操作方法などを入力すると良いでしょう。複数の言語で設定できますが、英語は必須です。
- 「保存」をクリック
- 「公開」をクリック
審査に通過するには、Google の審査チームが実際にアドオンを操作して最後まできちんと動作する必要があります。アドオンを利用するのにログインが必要な場合は、テスト用の認証情報を作成して gwm-review@google.com
にメールで送りましょう。また、テスト時の詳細な操作方法などをメールで送っておくと、「使い方がよく分からない」と言われて却下されることもなくなります。
ここの審査もだいたい 1 日で返事が来ます。却下された場合、メールに理由が記載されているのでそこを修正しましょう。承認された場合、おめでとうございます! 長かった申請手続きもこれで終わり、Marketplace にアドオンが並びます。
Discussion