コーディング レベル: 中級
所要時間: 30 分
プロジェクト タイプ: Google Workspace アドオン
目標
- ソリューションの機能について理解する。
- ソリューション内での Apps Script サービスの機能について理解する。
- 環境を設定する。
- スクリプトを設定する。
- スクリプトを実行する。
このソリューションについて
Google スプレッドシートのマクロをあるスプレッドシートから別のスプレッドシートに手動でコピーすると、時間がかかり、エラーが発生しやすくなります。この Google Workspace アドオンは、スクリプト プロジェクトを自動的にコピーして、ユーザーが指定したスプレッドシートに添付します。このソリューションはスプレッドシートのマクロに重点を置いていますが、これを使用してコンテナ バインド スクリプトをコピーして共有することもできます。

仕組み
スクリプトは、元のスプレッドシートにバインドされている Apps Script プロジェクトをコピーし、ユーザーが指定したスプレッドシートにバインドされた重複する Apps Script プロジェクトを作成します。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- URL 取得サービス: Apps Script API に接続してソース プロジェクトをコピーし、コピーを作成します。
- スクリプト サービス: 2 回目の承認プロンプトが表示されないように、Apps Script API を承認します。
- スプレッドシート サービス: コピーした Apps Script プロジェクトを追加するターゲット スプレッドシートを開きます。
- カード サービス: アドオンのユーザー インターフェースを作成します。
前提条件
このサンプルを使用するには、次の前提条件を満たしている必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要となる可能性があります)。
インターネットにアクセスできるウェブブラウザ。
環境の設定
Google Cloud コンソールでクラウド プロジェクトを開く
まだ開いていない場合は、このサンプルで使用するクラウド プロジェクトを開きます。
- Google Cloud コンソールで、[プロジェクトを選択] ページに移動します。
- 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックして、画面の指示に従います。Google Cloud プロジェクトを作成する場合は、プロジェクトの課金を有効にする必要がある場合があります。
Google Apps Script API を有効にする
このクイックスタートでは、Google Apps Script API を使用します。
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。 1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Cloud プロジェクトで、Google Apps Script API を有効にします。
OAuth 同意画面を構成する
Google Workspace アドオンには、同意画面の構成が必要です。アドオンの OAuth 同意画面を構成すると、Google がユーザーに表示する内容を定義できます。
- Google API Console で、メニュー アイコン menu > [Google Auth Platform] > [ブランディング] に移動します。
- Google Auth Platform をすでに構成している場合は、[ブランディング]、[対象]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。[**Google Auth Platform はまだ構成されていません**] というメッセージが表示されたら、[**スタートガイド**] をクリックします。
- [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
- [**ユーザー サポートメール**] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
- [続行] をクリックします。
- [対象] で [内部] を選択します。
- [続行] をクリックします。
- [連絡先情報] で、プロジェクトに対する変更の通知を受け取る [メールアドレス] を入力します。
- [続行] をクリックします。
- [完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
- [続行] をクリックします。
- [作成] をクリックします。
- 現時点では、スコープの追加はスキップできます。 今後、 Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な承認スコープを追加します。詳細については、完全な OAuth 同意画面を構成するガイドをご覧ください。
スクリプトを設定する
Apps Script プロジェクトを作成する
- 次のボタンをクリックして、マクロを共有 Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、[コピーを作成]
をクリックします。
Cloud プロジェクト番号をコピーする
- Google API Console で、メニュー アイコン > [IAM と管理] > [設定] に移動します。
- [プロジェクト番号] フィールドで、値をコピーします。
Apps Script プロジェクトのクラウド プロジェクトを設定する
- コピーした Apps Script プロジェクトで、
[プロジェクトの設定]
をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP プロジェクト番号] に、Google Cloud プロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。
テスト デプロイをインストールする
- コピーした Apps Script プロジェクトで、[Editor] をクリックします。
UI.gsファイルを開き、[実行] をクリックします。メッセージが表示されたら、スクリプトを承認します。- [デプロイ] > [テスト デプロイ] をクリックします。
- [Install] [>] [Done] をクリックします。
マクロ スクリプトとスプレッドシートの情報を取得する
- マクロがあり、編集権限がある Google スプレッドシートを開きます。サンプル スプレッドシートを使用するには、サンプル マクロ スプレッドシートのコピーを作成します。
- [拡張機能] > [Apps Script] をクリックします。
- Apps Script プロジェクトで、
[プロジェクトの設定]
をクリックします。
- スクリプト ID の下にある [コピー] をクリックします。
- スクリプト ID をメモしておきます。この ID は、後のステップで使用します。
- マクロを追加する新しいスプレッドシートを開くか、作成します。スプレッドシートを編集する権限が必要です。
- スプレッドシートの URL をコピーしてメモしておきます。この URL は、後のステップで使用します。
スクリプトを実行する
ダッシュボードの設定で Google Apps Script API が有効になっていることを確認します。スクリプトを実行するには、次のセクションの手順を行います。
マクロをコピーする
- Google スプレッドシートの右側のサイドバーで、[マクロを共有] アドオン
を開きます。 - [ソース マクロ] にスクリプト ID を貼り付けます。
- [ターゲット スプレッドシート] に、スプレッドシートの URL を貼り付けます。
- [マクロを共有] をクリックします。
- [アクセスを承認] をクリックして、アドオンを承認します。
- ステップ 2 ~ 4 を繰り返します。
コピーしたマクロを開く
- まだ開いていない場合は、マクロをコピーしたスプレッドシートを開きます。
- [拡張機能] > [Apps Script] をクリックします。
- コピーした Apps Script プロジェクトが表示されない場合は、 ダッシュボード の設定で Google Apps Script API が有効になっていることを確認し、マクロをコピーするに記載されている手順を繰り返します。
コードを確認する
このソリューションの Apps Script コードを確認するには、以下の [ソースコードを表示] をクリックします。
ソースコードを表示
Code.gs
UI.gs
appsscript.json
寄稿者
このサンプルは、Google デベロッパー エキスパートの協力を得て Google が管理しています。