Google Cloud プロジェクト

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

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

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

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

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

デフォルトでは、Cloud プロジェクトには、1 つのエントリを含む Identity and Access Management(IAM)ポリシーがあります。これは、デフォルト プロジェクトのオーナーとして機能する Google サービス アカウントです。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 プロジェクトが必要な場合

次のような場合は、標準プロジェクトを使用する必要があります。

標準のクラウド プロジェクトのプロパティ

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

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

標準のクラウド プロジェクトにアクセスする

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

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

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

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

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

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

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

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

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

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

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

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

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

スクリプト プロジェクトで Google Cloud ロギング または Error Reporting を使用している場合は、次の操作を行うことで、 Google Cloud コンソールでログとレポートを表示できます。

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

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

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

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

OAuth 認証情報を作成する

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

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

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

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

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

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

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

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

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

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

別のスタンダードのクラウド プロジェクトを使用する

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

別のスタンダードのクラウド プロジェクトに切り替えた場合の影響

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

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

    標準のクラウド プロジェクトで Drive API を有効にします。

    Drive API を有効にする

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

別のスタンダード クラウド プロジェクトに切り替える

スクリプトの既存の Cloud プロジェクトを別の Cloud プロジェクトに切り替えるには、次の手順を行います。

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

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

共有ドライブは、 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 プロジェクトを共有ドライブに移動すると、Google はデフォルトの クラウド プロジェクト へのアクセスを制限します。移動前にアクセス権があった場合は、デフォルト プロジェクトにアクセスできます。たとえば、マイドライブ フォルダにスクリプトを作成して共有ドライブに移動した場合でも、スクリプトのクラウド プロジェクトにアクセスできます。共有ドライブの共同編集者はアクセスできない可能性があります。
    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. クラウド プロジェクトを開きます
  2. 右上のその他アイコン > [プロジェクト設定] をクリックします。
  3. [シャットダウン / 削除] をクリックします。
  4. 画面上の手順に沿ってプロジェクトをシャットダウンします。

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

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

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