LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Saturday, July 4, 2020

デフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えたい


Google Apps ScriptではデフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えることができる。


順を追ってやってみたので、ステップ化して書き残しておきます。



STEP1 標準のGCPプロジェクトについて確認する

まずは、Standard Cloud Platform projects を開いてみる。

デフォルトのCloud Platformプロジェクトは、最も使いやすいため、ほとんどのスクリプトプロジェクトに最適なオプションです。
ただし、デフォルトのGCPプロジェクトは、GCPプロジェクトを手動で構成する必要があるため、特定のケースでは使用できません。
これらの状況では、標準のGCPプロジェクトを使用するようにスクリプトプロジェクトを切り替える必要があります。

Default Cloud Platform projects are the best option for most script projects, as they are the easiest to use. However, default GCP projects can't be used for certain cases because they require you to manually configure the GCP project. In these situations, you must switch your script project to use a standard GCP project.



STEP2 切り替えるステップを確認する
切り替えたいので
Switching to a different standard GCP project を開いてみる。

ちょっと長いので要約してみる。
デフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えたら戻せない。
スクリプトを利用している全てのユーザは、アカウントに承認したアクセス許可を再承認する必要がある。

    7つのステップがあるらしい。


    1. 適切なGCPプロジェクトがない場合は、プロジェクトの作成手順に従って新しいプロジェクトを作成します。
    それ以外の場合は、GCP Consoleの[リソースの管理]ページを開いて、使用する既存のGCPプロジェクトを見つけます。 
    GCPプロジェクトの編集権限が必要であり、Google Cloud Platform Consoleでその設定を表示できる必要があります。
    新しいプロジェクトは、Apps Scriptによって自動的に作成されたものであってはなりません。
    If you don't have a suitable GCP project, create a new one by following the Create a project instructions. Otherwise, open the GCP console Manage Resources page and locate an existing GCP project to use. You must have edit permissions for the GCP project and you must be able to view its settings in the Google Cloud Platform Console. The new project can't be one that was automatically created by Apps Script.



    STEP3 GCPプロジェクトを作成する
    適切なGCPプロジェクトがないので作成します。
    Create a project

    この手順でやってみます。
    [リソースの管理]ページに移動 をクリックします。


    プロジェクトを作成 をクリックします。



    2. 覚えやすいGCPプロジェクト名を設定して、GCP Consoleの[リソースの管理]ページで簡単に見つけられるようにします。この名前は、Apps Scriptがユーザーに承認を求めるときにスクリプトを識別するためにも使用されます。
    3. GCPプロジェクトのプロジェクト番号を決定します。
    Set a memorable GCP project name so that you can more easily locate it in the GCP console Manage Resources page. This name is also used to identify the script when Apps Script asks users to authorize it.
    Determine the Project number of your GCP project.
    プロジェクト名を入れて作成をクリックします。
    (UIが変わったのか、該当する請求アカウントの選択肢はないのでスルー)


    作成したプロジェクトがリストされます。



    プロジェクト番号を確認する。

    設定を開くとプロジェクト番号を確認できる。



    STEP4 スクリプトエディタでプロジェクトを設定する
    4〜5. 対象のスクリプトエディタ > リソース > Cloud Platform プロジェクト をクリックします。
    In the Apps Script editor, open the script whose GCP project you want to replace.
    Click Resources > Cloud Platform project.


    6. プロジェクト番号を入れて プロジェクトを設定します。
    In the Change Project section, paste the project number you copied into the text field, then click Set Project.



    7. 確認をクリックします。
    A warning screen explains the effects of changing the Cloud Platform project. Read the notice carefully, and click Confirm.



    STEP5 OAuth 同意画面を設定する
    エラーが出たので こちら をクリックしてみます。
    (ここからは公式のステップにないので手探り)
    プロジェクトに切り替えるには、OAuth 同意画面を設定する必要があります。 同意画面を設定するには、こちらをご覧ください。


    利用規約をチェックして 同意して続行をクリックします。


    内部 / 外部を選択して作成をクリックします。
    (ここでは外部を選択しました)



    続けて以下も設定します。

    In addition, you must have the following required assets:


    OAuth同意画面を埋めていきます。
    保存 をクリックすると確認が必要という表示が出ました。

    ここから先も公式のステップにないので手探りでいきます。


    その前に、スクリプトエディタでプロジェクトの変更を完了しておきます。



    STEP6

    スクリプトエディタに戻って、リソース > Cloud Platform プロジェクトを開きます。


    プロジェクト番号を入力して、プロジェクトを設定します。


    確認をクリックします。


    これでプロジェクトが変更されました。






    STEP7 OAuth認証情報の設定

    OAuth同意画面に戻って、確認のため送信 しようとしたらグレーアウトしている。
    ポインターを当てるとOAuth認証情報の設定を求められる。


    左のメニューから認証情報を開いてみる。


    ここからは認証 のヘルプを参考に進めていきます。

    認証情報ページで [認証情報を作成] をクリックし、[OAuth クライアント ID] を選択します。




    [アプリケーションのタイプ] は [ウェブ アプリケーション] を選択します。手順に従って JavaScript の生成元かリダイレクト URI(またはその両方)を入力します。

    名前を入力します。
    承認済みのリダイレクト URIを入力します。
    (今回は対象のGoogle Apps ScriptのWebアプリの公開URLを入れました)
    作成をクリックします。


    これで認証情報の設定は終わりかな。



    STEP7 確認のため送信

    OAuth 同意画面 > アプリを編集 を開きます。


    一番下にある先程クリックできなかった 確認のため送信 ボタンをクリックします。




    送信するとこのようなステータスになります。

    ここまで来たら、あとは連絡先メールアドレスへの連絡を待つのみ。


    APPENDIX

    失敗談

    STEP6を行わずに「確認のため送信」を押してしまい、Googleから以下のようなメッセージを含むメールが届きました。
    Development/testing projects, or projects which are not yet live to the public, are not eligible for verification.

    そのため、STEP5と7の間にSTEP6を入れました。


    参考

    Standard Cloud Platform projects



    OAuth 2.0 認証情報を作成する

    Latest post

    スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

    今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...