Googleドキュメントに独自の機能を追加したいと思ったことはありませんか。Apps Scriptを使えば、自分でアドオンを作成し、チームや一般ユーザーに配布できます。この記事では、Apps Scriptでアドオンを作成し、Google Workspace Marketplaceで公開するまでの手順を詳しく解説します。具体的なコード例や公開設定の流れを押さえれば、初めての方でもアドオン開発を始められます。
【要点】Apps Scriptアドオン作成から公開までの3ステップ
- スクリプトエディタでコードを作成: メニュー追加やドキュメント操作の関数を書き、onOpen関数でアドオンを初期化します。
- プロジェクト設定とデプロイ: アドオンとしてのマニフェストを設定し、デプロイを作成してテストします。
- Google Workspace Marketplaceに公開: OAuth同意画面やストアリストを設定後、公開申請を行います。
ADVERTISEMENT
アドオン作成の概要と公開の種類
Googleドキュメントのアドオンは、Apps Scriptを用いて作成する拡張機能です。アドオンは、メニューやサイドバーを追加してドキュメントの操作を自動化したり、外部サービスと連携したりできます。アドオンの配布方法には、同じGCPプロジェクト内での非公開配布と、Google Workspace Marketplaceを通じた一般公開があります。公開する場合は、審査とOAuth同意画面の設定が必要です。非公開アドオンは組織内でテストする際に便利で、公開アドオンは広く利用してもらいたい場合に適しています。
アドオン作成から公開までの詳細手順
1. スクリプトエディタの準備とコード作成
- スクリプトエディタを開く
Googleドキュメントを開き、「拡張機能」メニューから「Apps Script」を選択します。新しいブラウザタブでスクリプトエディタが開きます。 - アドオンのコードを記述する
エディタに以下のコードを入力します。function onOpen() { var ui = DocumentApp.getUi(); ui.createMenu('カスタム') .addItem('太字にする', 'boldSelectedText') .addToUi(); } function onInstall() { onOpen(); } function boldSelectedText() { var selection = DocumentApp.getActiveDocument().getSelection(); if (selection) { var elements = selection.getRangeElements(); for (var i = 0; i < elements.length; i++) { var element = elements[i].getElement(); if (element.editAsText) { element.editAsText().setBold(true); } } } }このコードは、カスタムメニューを追加し、選択範囲のテキストを太字にします。
- プロジェクト名を設定する
スクリプトエディタ左上の「無題のプロジェクト」をクリックし、わかりやすい名前(例:太字アドオン)に変更します。
2. アドオン用のマニフェスト設定
- マニフェストファイルを編集する
スクリプトエディタの左側で「プロジェクトの設定」を開き、「appsscript.json」にチェックを入れます。以下の内容に書き換えます。{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "addOns": { "common": { "name": "太字アドオン", "logoUrl": "" } } }この設定でプロジェクトがアドオンとして認識されます。
- GCPプロジェクトを紐付ける
「プロジェクトの設定」で「Google Cloud Platform(GCP)プロジェクト」の「プロジェクト番号」を確認します。必要に応じて新しいGCPプロジェクトを作成し、紐付けます。
3. デプロイとテスト
- デプロイを作成する
スクリプトエディタ上部の「デプロイ」ボタンをクリックし、「新しいデプロイ」を選択します。 - デプロイの種類を選択する
「種類」の歯車アイコンをクリックし、「アドオン」を選択します。説明を入力し、「デプロイ」をクリックします。 - テスト用にインストールする
作成されたデプロイIDをコピーし、同じGoogleアカウントの別のドキュメントで「アドオンをテスト」からデプロイIDを指定してインストールします。メニューが表示されるか確認します。
4. Google Workspace Marketplaceへの公開設定
- OAuth同意画面を設定する
Google Cloud Consoleで該当のプロジェクトを開き、「OAuth同意画面」を設定します。外部ユーザー向けの場合は、アプリ名やプライバシーポリシーを登録します。 - スコープを確認する
アドオンが必要とするスコープを最小限に設定します。上記のコードではドキュメントの読み取り・書き込みが必要です。同意画面にスコープが自動表示されることを確認します。 - Marketplace SDKを有効化する
Google Cloud Consoleで「APIとサービス」の「ライブラリ」から「Google Workspace Marketplace SDK」を検索し、有効にします。 - ストアリストを作成する
Marketplace SDKの「構成」タブで、アドオンのアイコン(128x128px)、説明、スクリーンショット(最大5枚)、カテゴリなどを入力します。公開範囲は「公開」に設定します。
5. 公開申請と審査
- 申請前の最終確認
すべての設定が完了しているか確認します。特にOAuth同意画面が「公開済み」状態であること、スコープが適切であることを確認します。 - 公開申請を送信する
Marketplace SDKの「公開」タブで「公開申請を送信」をクリックします。申請後、Googleによる審査が始まります。通常は数日から数週間かかります。 - 審査結果を確認する
審査に通過すると、アドオンがGoogle Workspace Marketplaceに掲載されます。審査で問題があった場合は、修正して再提出します。
アドオン公開でつまずきやすいポイント
OAuth同意画面の設定が不十分
外部ユーザー向けに公開する場合、OAuth同意画面にプライバシーポリシーのURLの記載が必須です。記載がないと審査で却下されます。プライバシーポリシーは外部のウェブサイトでホスティングする必要があります。
スコープが最小限でない
アドオンが必要以上のスコープを要求すると、ユーザーの許可を得にくくなり、審査でも指摘されます。必要なスコープだけを指定し、コード内でも限定して使用します。
プライバシーポリシーが未設定
公開アドオンにはユーザーデータの取り扱いを説明するプライバシーポリシーが必須です。OAuth同意画面にそのURLを設定してください。自社サイトがない場合は、Google Sitesなどで簡易ページを作成できます。
審査に時間がかかる
初回審査には1〜2週間程度かかる場合があります。余裕を持って申請し、その間に機能追加やバグ修正を行うとよいでしょう。審査中にコードを変更した場合は、再度デプロイが必要です。
デプロイIDが間違っている
テストインストール時にデプロイIDを指定しますが、間違えるとアドオンが認識されません。デプロイ作成時に表示されるIDを正確にコピーし、ドキュメントの「アドオンをテスト」欄に貼り付けてください。
ADVERTISEMENT
非公開アドオンと公開アドオンの違い
| 項目 | 非公開アドオン | 公開アドオン |
|---|---|---|
| 配布範囲 | 同じGCPプロジェクト内のユーザーに限定 | Marketplaceで全ユーザーがインストール可能 |
| 審査 | 不要 | Googleの審査あり(数日〜数週間) |
| OAuth同意画面設定 | 内部ユーザーのみの設定で可 | 外部ユーザー向け設定が必要(プライバシーポリシー、アプリ検証) |
| 配布の容易さ | 簡単 | 手間がかかる |
まとめ
この記事では、Apps Scriptを使ってGoogleドキュメントのアドオンを作成し、公開するまでの手順を解説しました。まずは簡単な機能から試し、テストデプロイで動作を確認しましょう。公開が不要であれば、非公開アドオンとしてチーム内で共有することも可能です。実際に公開する場合は、スコープの最小化とプライバシーポリシーの準備を忘れずに行ってください。次のステップとして、サイドバーやカスタムダイアログを追加するなど、より高度なアドオンに挑戦してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleドキュメントの人気記事ランキング
- 【Googleドキュメント】上付き・下付き文字の入力方法!ショートカットと手動切替
- 【Googleドキュメント】ルビ(ふりがな)を振る方法!代替ツールとアドオンの活用
- 【Googleドキュメント】文字間隔(字間)を調整する方法!カーニングの代替手段
- 【Googleドキュメント】図表番号の自動採番!Figure 1, Table 2 の連番
- 【Googleドキュメント】Docs→Wordへエクスポート!docx出力での書式維持
- 【Googleドキュメント】縦書き表示を実現する方法!代替ツールと回避策
- 【Googleドキュメント】インデントを正確に調整する方法!ルーラーとタブストップの使い方
- 【Googleドキュメント】罫線を縦・横に挿入する方法!Wordの罫線機能との比較
- 【Googleドキュメント】共有後に閲覧履歴を確認!誰がいつ開いたかの追跡
- 【Googleドキュメント】共有先の名前が表示されない時の対処!匿名動物アイコンの正体
