Google Cloud プロジェクト

すべての Google Apps Script プロジェクトは、Google Cloud を使用して、承認、高度なサービス、その他の詳細を管理します。これらの設定を構成して管理するには、すべての Apps Script プロジェクトに Google Cloud プロジェクトが関連付けられています。スクリプト プロジェクトでは、Apps Script が自動的に作成するデフォルト プロジェクト、またはユーザーが自分で作成する標準プロジェクトを使用できます。一般に、デフォルト プロジェクトは日常的なスクリプトに適していますが、複雑なアプリケーション、商用品質のアプリケーション、または公開を予定しているアプリケーションには標準プロジェクトを使用する必要があります。

デフォルト プロジェクトから標準プロジェクトにいつでも切り替えることができますが、デフォルト プロジェクトに戻すことはできません。スクリプトで使用する Cloud プロジェクトは、開発の早い段階で選択することをおすすめします。後で切り替えると、ユーザーの再認証が必要になるなどの問題が発生する可能性があります。

デフォルトの Cloud プロジェクト

Apps Script プロジェクトを作成すると、バックグラウンドで動作するデフォルトの Cloud プロジェクトが作成されます。

  • ほとんどのスクリプトでは、このデフォルト プロジェクトを表示または調整する必要はありません。Google Cloud で必要となるインタラクションは Apps Script によって処理されます。たとえば、Apps Script エディタで高度なサービスを有効にすると、スクリプト プロジェクトを保存したときに、Apps Script はデフォルトの Cloud プロジェクトで高度なサービスを有効にします。
  • 一部のスクリプトでは、Google Cloud コンソールを操作する必要があります。このような場合、スクリプトは標準の Cloud プロジェクトを使用する必要があります。たとえば、Google Cloud コンソールで Google Cloud ログを表示するには、スクリプトで標準プロジェクトを使用する必要があります。

デフォルトでは、Cloud プロジェクトには、デフォルト プロジェクトのオーナーとして機能する Google サービス アカウントという 1 つのエントリを含む Identity and Access Management(IAM)ポリシーがあります。Google サービス アカウントは appsdev-apps-dev-script-auth@system.gserviceaccount.com です。

デフォルトの Cloud プロジェクトを表示または更新する

ほとんどのユーザーは、Google Cloud コンソールでデフォルト プロジェクトの検索、表示、編集を直接行うことはできません。管理者の場合は、デフォルトの Google Cloud プロジェクトを表示するをご覧ください。

2019 年 4 月 8 日より前にスクリプト プロジェクトを作成した場合、Google Cloud コンソールでアクセスできるデフォルトのプロジェクトを使用している可能性があります。デフォルト プロジェクトにアクセスするには、スクリプト プロジェクトの設定に移動して、プロジェクト番号をクリックします。

デフォルトの Cloud プロジェクトを削除する

管理者は、標準の Cloud プロジェクトと同様にデフォルトの Cloud プロジェクトを削除できます。デフォルトの Cloud プロジェクトを表示または編集するをご覧ください。

管理者以外は、デフォルト プロジェクトを手動で削除できません。ただし、スクリプト プロジェクトを削除するか、標準プロジェクトに切り替えると、スクリプトに添付されたデフォルト プロジェクトとその設定と情報が Apps Script によって削除されます。

標準の Cloud プロジェクト

プロジェクトを手動で構成する必要がない限り、ほとんどのスクリプト プロジェクトではデフォルトの Cloud プロジェクトが最適です。このような場合は、スクリプト プロジェクトを標準プロジェクトを使用するように切り替える必要があります。

以降のセクションでは、Apps Script で標準プロジェクトが必要になる場合、そのプロパティ、一般的なタスクについて説明します。これらのタスクは、標準プロジェクトでのみ実行します。

Apps Script で標準の Cloud プロジェクトが必要な場合

標準プロジェクトは、次の状況で使用する必要があります。

標準の Cloud プロジェクトのプロパティ

標準プロジェクトには次のプロパティがあります。

  • Google Cloud コンソールから、プロジェクトのすべての Google Cloud 設定に直接アクセスできます。これにより、API を有効にしたり、認可認証情報を調整したり、その他の詳細を構成したりできます。
  • スクリプト プロジェクトを削除するか、別の標準プロジェクトを使用するように切り替えても、元の標準プロジェクトは残っており、再利用できます。
  • スクリプト プロジェクトで高度なサービスを有効にする場合は、標準プロジェクトで対応する API を手動で有効にする必要があります。
  • 複数のスクリプト プロジェクトや他のアプリで同じ標準プロジェクトを共有できます。スクリプト プロジェクトをMarketplaceアドオンとして公開する場合は、独自の標準プロジェクトが必要です。公開済みのアプリは、他のアプリと Cloud プロジェクトを共有できません。
  • Apps Script API の scripts.run メソッドを使用して、別のアプリからスクリプト プロジェクトの関数を実行する場合は、スクリプト プロジェクトと呼び出し元のアプリケーションで同じ標準プロジェクトを共有する必要があります。
  • Apps Script で標準プロジェクトを使用するスクリプトの承認をユーザーに求める場合、スクリプトの識別には Cloud プロジェクト名が使用されます(スクリプト プロジェクト名ではありません)。そのため、適切な Cloud プロジェクト名を設定してください。

標準の Cloud プロジェクトにアクセスする

スクリプト プロジェクトに関連付けられている標準プロジェクトにアクセスするには:

  1. Apps Script プロジェクトを開きます。
  2. 左側の [プロジェクト設定] をクリックします。
  3. [Google Cloud プロジェクト] で、プロジェクト番号をクリックします。

標準プロジェクトは、Google Cloud コンソールの [リソースの管理] ページで直接確認できます。

標準の Cloud プロジェクトで API を有効にする

Apps Script アプリケーションに別の Google API へのアクセス権を付与するには、対応する Cloud プロジェクトで API を有効にします。

  1. Cloud プロジェクトを開きます
  2. メニュー > [API とサービス] をクリックします。
  3. [API とサービスの有効化] をクリックします。
  4. 検索ボックスに有効にする API を入力して、Enter キーを押します。
  5. 検索結果から API をクリックし、[有効にする] をクリックします。

Google API または Google Cloud の利用規約に同意するよう求められることがあります。利用規約をよく読んでから同意してください。

アプリケーションによっては、[API とサービス] ダッシュボードで API を選択して構成する必要があります。

標準の Cloud プロジェクトの ID と番号を確認する

すべての Cloud プロジェクトには、名前、ID、番号があります。これらの ID は、サービスの構成やその他のタスクの完了に必要になることがあります。

標準プロジェクトの ID と番号を確認する手順は次のとおりです。

  1. Cloud プロジェクトを開きます
  2. 右上にあるその他アイコン > [プロジェクトの設定] をクリックします。
  3. 結果の [設定] パネルで、プロジェクト名プロジェクト IDプロジェクト番号を確認します。プロジェクト番号は数字で構成されますが、プロジェクト ID は英数字です。プロジェクト名を編集します。この名前は、認証プロンプトでユーザーに表示されます。

Google Cloud コンソールで Google Cloud のログとエラー レポートを表示する

スクリプト プロジェクトで Google Cloud ロギングまたはエラー報告を使用している場合は、次の手順で Google Cloud コンソールでログとレポートを表示できます。

  1. Cloud プロジェクトを開きます
  2. メニュー をクリックします。
  3. [オペレーション] セクションで、[ロギング] > [ログ エクスプローラ] をクリックします。
  4. エラーレポートを表示するには、[オペレーション] セクションで [エラーレポート] をクリックします。エラー報告の設定を求めるメッセージが表示された場合は、スクリプト プロジェクトでまだ例外が記録されていないことを意味します。

OAuth を必要とするサービスを使用する場合、Google はユーザーにサービスの承認を求めるメッセージを表示します。OAuth 同意画面の設定では、アプリケーション名や利用規約の URL など、Google がユーザーに表示する情報を定義します。

デフォルトの Cloud プロジェクトでは、Apps Script プロジェクトの詳細から同意画面が自動的に作成されます。これらの設定を調整することはできません。標準の Cloud プロジェクトでは、この情報をカスタマイズできます。スクリプトの同意画面を構成するには:

  1. Cloud プロジェクトを開きます
  2. メニュー > [API とサービス] > [認証情報] をクリックします。
  3. [同意画面を構成] をクリックします。
  4. 同意画面のワークフローの各セクションに入力します。
  5. 各ステージで変更を保存するには、[保存して次へ] をクリックします。

OAuth 認証情報を作成する

通常、Apps Script はスクリプトで使用するサービスの OAuth を設定します。一部のアプリケーションでは、追加の OAuth 認証情報(クライアント ID とクライアント シークレット)を作成します。これは標準プロジェクトでのみ行います。

スクリプト プロジェクトのクライアント ID とクライアント シークレットを作成するには:

  1. Cloud プロジェクトを開きます
  2. メニュー > [API とサービス] > [認証情報] をクリックします。
  3. [認証情報を作成] > [OAuth クライアント ID] をクリックします。
  4. [アプリケーションの種類] でアプリケーションの種類を選択し、フォームに入力します。完了したら、[作成] をクリックします。
  5. ダイアログで、[JSON をダウンロード] をクリックします。このファイルを使用して OAuth を構成します。

標準の Cloud プロジェクトにオーナーを追加する

標準プロジェクトにオーナーまたは他のロールを追加して、チームのメンバーが常にスクリプト プロジェクトの Google Cloud 設定にアクセスできるようにします。

標準プロジェクトにオーナーや他のロールを追加するには(編集権限が必要です):

  1. 共同編集者を決定します。Google グループを使用することをおすすめします。ドメインを指定して、そのドメイン内のすべてのユーザーを含めます。
  2. スクリプトの Cloud プロジェクトを開きます
  3. メニュー アイコン > [IAM と管理] > [IAM] をクリックします。
  4. 上部にある [追加] をクリックします。
  5. 画面上の手順に沿って、新しいメンバーとその役割を追加します。個々のメール、Google グループ、ドメインを追加します。
  6. [保存] をクリックします。

複数のスクリプトを 1 つの Cloud プロジェクトでグループ化する

複数の Apps Script プロジェクトで同じ標準 Cloud プロジェクトを共有できます。これを行うには、標準プロジェクトを作成し、各スクリプト プロジェクトを切り替えて、そのプロジェクトを使用するようにします。デフォルトのプロジェクトではこの操作はできません。

スクリプト プロジェクトを Marketplaceアドオンとして公開する場合は、独自の標準プロジェクトが必要です。公開されたアプリは Cloud プロジェクトを共有できません。

別の標準 Cloud プロジェクトを使用する

別の標準 Cloud プロジェクトを使用するようにスクリプト プロジェクトを切り替えます。スクリプトで Cloud プロジェクトの手動構成が必要な場合は、デフォルト プロジェクトから標準プロジェクトに切り替えます。詳細については、標準の Cloud プロジェクトをご覧ください。

別の標準 Cloud プロジェクトに切り替えた場合の影響

スクリプトをデフォルト プロジェクトから別の標準プロジェクトに切り替えると、次のような影響があります。

  • スクリプトで高度なサービスを有効にした場合は、新しい Cloud プロジェクトで対応する API を有効にする必要があります。以前の Cloud プロジェクトの高度なサービスに関連付けられたデータは失われます。Cloud プロジェクトで API を有効にする方法については、Google Workspace API を有効にするをご覧ください。
  • スクリプトで組み込みの Google ドライブ サービスを使用する場合は、標準の Cloud プロジェクトで Drive API を有効にする必要があります。

    標準の Cloud プロジェクトで、ドライブ API を有効にします。

    Drive API を有効にする

  • 以前にスクリプトを承認したユーザーは、再度承認する必要があります。ほとんどの場合、新しいプロジェクトに関連付けられたアプリを以前に承認したすべてのユーザーも、再承認する必要があります。
  • スクリプトが Google Workspace Marketplace のアプリのリスティングに関連付けられている場合、アプリのリスティング、ユーザー、レビューは新しいプロジェクトに引き継がれません。新しいプロジェクト内にアプリの掲載情報を作成し、ユーザーにアプリを再インストールしてもらう必要があります。新しいアプリの掲載情報の作成については、アプリを公開するをご覧ください。
  • スクリプトをデフォルト プロジェクトに戻すことはできません。Apps Script は、スクリプトが標準プロジェクトを使用するように設定された後に、デフォルトのプロジェクトを削除します。

別の標準 Cloud プロジェクトに切り替える

スクリプトの既存の Cloud プロジェクトを別の Cloud プロジェクトに切り替える手順は次のとおりです。

  1. 適切な Cloud プロジェクトがない場合は、プロジェクトを作成するの手順に沿って作成します。Google Cloud コンソールの [リソースの管理] ページでプロジェクトを見つけられるように、覚えやすいプロジェクト名を設定します。Apps Script は、ユーザーにスクリプトの承認を求める際にこの名前を使用します。
  2. 既存のプロジェクトを使用する場合は、Google Cloud コンソールの [リソースの管理] ページを開き、使用する既存のプロジェクトを見つけます。プロジェクトに対して、プロジェクト ブラウザと OAuth 構成エディタのロール、または同等の権限を持つロールが必要です。Apps Script によって自動的に作成されたプロジェクトは使用できません。
  3. Cloud プロジェクトのプロジェクト番号を確認します
  4. Cloud プロジェクトを置き換えるスクリプトを開きます。
  5. 左側の [プロジェクト設定] をクリックします。
  6. [Google Cloud プロジェクト] で、[プロジェクトを変更] をクリックします。
  7. 新しいプロジェクト番号を入力し、[プロジェクトを設定] をクリックします。

クラウド プロジェクトと共有ドライブ

共有ドライブは、Google Workspace BusinessGoogle Workspace Enterprise をご利用のお客様のみが使用できます。

共有ドライブ(以前のチームドライブ)は、ドライブ ユーザーのグループが Apps Script プロジェクトとドライブ ドキュメントで共同作業できる共有スペースを提供します。共有ドライブは、チームでスクリプト、アドオン、ウェブアプリを開発する際に便利ですが、以前のデフォルトの Cloud プロジェクトでできることにいくつかの制限が課されます。

次のリストは、Cloud プロジェクトが共有ドライブとどのように連携するかを示しています。

  • スクリプト プロジェクトで標準プロジェクトを使用している場合、スクリプト プロジェクトが共有ドライブにあるときに、追加の制限はありません。
  • スクリプト プロジェクトで 2019 年 4 月 8 日以降に作成されたデフォルト プロジェクトを使用している場合、スクリプト プロジェクトが共有ドライブに存在しても、追加の制限はありません。
  • スクリプト プロジェクトで 2019 年 4 月 8 日より前に作成されたデフォルトのプロジェクトを使用している場合、スクリプト プロジェクトが共有ドライブに存在している間は、次の制限が適用されます。
    1. Apps Script UI または Google Cloud コンソールを使用して、デフォルト プロジェクトにアクセスすることはできません。この制限により、プロジェクトへの直接アクセスが必要なアクションを実行できなくなります。
    2. 高度なサービスを有効にできません。拡張サービスを有効にするには、標準プロジェクトに切り替えます。
    3. 既存の Apps Script プロジェクトを共有ドライブに移動すると、デフォルトの Cloud プロジェクトへのアクセスが制限されます。移行前にアクセス権を持っていた場合は、デフォルト プロジェクトに引き続きアクセスできます。たとえば、マイドライブ フォルダにスクリプトを作成してから共有ドライブに移動した場合でも、スクリプトの Cloud プロジェクトにアクセスできます。共有ドライブの共同編集者は、この操作を行えない場合があります。
    4. スクリプトは、共有ドライブに移動する前の Cloud プロジェクト名を保持します。共有ドライブのプロジェクト名を変更しても、スクリプトを承認したユーザーには承認ダイアログに古い名前が表示されます。

古いスクリプトでこれらの制限を回避するには、標準プロジェクトに切り替えます

Apps Script Cloud プロジェクトのリストを取得する

組織の Apps Script プロジェクト フォルダに対する resourcemanager.projects.list 権限がある場合は、フォルダ内のすべての標準およびデフォルトの Apps Script Cloud プロジェクトを表示できます。

  1. Google Cloud コンソールの [リソースの管理] ページを開きます。
  2. [Apps Script] フォルダの横にある ID をコピーします。
  3. [フィルタ] > [親 ID] をクリックし、Apps Script フォルダの ID を貼り付けます。

Apps Script Cloud プロジェクトを削除する

デフォルト プロジェクトを削除するには、管理者である必要があります。

Google Cloud コンソールから Apps Script プロジェクトを削除するには:

  1. Cloud プロジェクトを開きます
  2. 右上にあるその他アイコン > [プロジェクトの設定] をクリックします。
  3. [シャットダウン / 削除] をクリックします。
  4. 画面上の手順に沿ってプロジェクトをシャットダウンします。

gcloud を使用して Apps Script プロジェクトを削除するには、次のコマンドを使用します。

gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_ID

Cloud プロジェクトの削除の詳細については、プロジェクトのシャットダウン(削除)をご覧ください。