Google Cloud プロジェクト

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

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

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

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

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

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

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

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

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

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

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

管理者以外のユーザーは、デフォルトのプロジェクトを削除できません。ただし、次のシナリオでは Apps Script によってデフォルトのプロジェクトが削除されます。

  • スクリプト プロジェクトを削除するか、標準プロジェクトを使用するように切り替えると、Apps Script はスクリプトに添付されたデフォルト プロジェクトと、そこに含まれる設定または情報を削除します。
  • スクリプトが 180 日以上実行されない場合、Apps Script によって関連付けられているデフォルトのプロジェクトが削除されます。Apps Script がデフォルトのプロジェクトを削除した後にスクリプトが実行されると、Apps Script はスクリプト用のプロジェクトを作成します。

標準クラウド プロジェクト

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

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

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

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

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

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

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

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

スクリプト プロジェクトに関連付けられている標準プロジェクトにアクセスする方法は次のとおりです。

  1. Apps Script プロジェクトを開きます。
  2. 左側にあるプロジェクト設定アイコン をクリックします。
  3. [Google Cloud Platform(GCP)Project] で、プロジェクト番号をクリックします。

Google Cloud コンソールの [リソースの管理] ページで標準プロジェクトを直接検索することもできます。

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

Apps Script アプリケーションは多くの場合、別の Google API にアクセスする必要があります。これを行うには、対応する Cloud プロジェクトで API を有効にする必要があります。次の手順で API を有効にします。

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

Google API または Google Cloud の利用規約に同意するよう求められる場合があります。利用規約をよく確認したうえで同意してください。

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

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

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

標準プロジェクトの ID と番号を確認するには、次の手順を行います。

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

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

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

  1. Cloud プロジェクトを開きます
  2. メニュー をクリックします。
  3. [オペレーション] セクションまでスクロールし、[ロギング] > [ログ エクスプローラ] をクリックします。
  4. エラーレポートを表示するには、[オペレーション] セクションまでスクロールして、[Error Reporting] をクリックします。エラーレポートを設定するように求められたら、スクリプト プロジェクトはまだ例外をロギングしていません。

OAuth を必要とするサービスを使用する場合、Google はそれらのサービスを承認するようにユーザーに促します。OAuth 同意画面の設定では、アプリケーション名や利用規約の URL など、Google からユーザーに表示される情報の一部を設定できます。

デフォルトの Cloud プロジェクトは、Apps Script プロジェクトの詳細から自動的に同意画面を作成します。これらの設定は調整できません。Standard 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. 画面上の指示に沿って、1 人以上の新しいメンバーとそのロールを Cloud プロジェクトに追加します。個々のメール、Google グループ、ドメインを新しいメンバーとして追加できます。
  6. [保存] をクリックします。

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

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

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

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

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

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

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

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

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

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

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

共有ドライブ(旧称チームドライブ)は、ドライブのユーザー グループが Apps Script プロジェクトとドライブのドキュメントで共同編集できる共有スペースを提供します。共有ドライブは、チームでスクリプト、アドオン、ウェブアプリを開発する際に役立ちますが、古いデフォルトの Cloud プロジェクトでできることにいくつかの制限があります。

次の制限のリストは、Cloud プロジェクトでの共有ドライブの操作方法を示しています。

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

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

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

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

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

Apps Script Cloud プロジェクトの削除

Apps Script Cloud プロジェクトを削除するには、Apps Script Cloud プロジェクトのリストを取得するの手順に沿って、削除するプロジェクトを選択し、[削除] をクリックします。

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

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

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