LANG SELRCT

コードを書く場所

2020年7月4日土曜日

デフォルトの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 認証情報を作成する

    Google Search Consoleでサイトの所有権を確認してみる


    MISSION
    サイトの所有権を確認する



    STEP1
    サイトの所有権を確認する ページを開きます。



    STEP2
    プロパティを確認する をクリックします。
    自分のサイトが自分のものだと証明するプロセスらしい。



    STEP3
    プロパティを検索します。



    STEP4
    1. 新しいプロパティを追加するか、プロパティ選択バーで未確認のプロパティを選択します。

    とのことなので、ここではこのブログのドメインがあったので選択します。
    (ない場合はプロパティを追加します)



    所有権は確認済になっていました。


    次に進んで
    2. 下記の確認方法の中からいずれかを選択して、表示される手順を実施します。プロパティによっては使用できない確認方法があるため、確認ページには、該当のサイトで使用できるおすすめの方法が一覧表示されます。

    今回選択したのはBloggerなので開いて確認してみます。

    自動的に追加され、確認されるそうなので特にやることはなさそうでした。


    参考

    サイトの所有権を確認する


    認証と認可について、時々忘れるのでメモっておく。


    認証と認可について
    1. ユーザは、認証の処理によって識別される。
    2. 認証が成功したユーザは、アプリケーションに認可された操作を行うことができる。


    認証は、確認や証明とも言いかえられる。
    認可は、承認や許可とも言いかえられる。


    1,2をまとめて言い換えると
    • アプリケーションに許可された操作を行っていいユーザがどうか確認する。

    英語でいうと

    認証:Authentication
    認可:Authorization




    APPENDIX

    ログインIDとパスワードでの認証だと、ユーザが持つ全ての情報にアクセスできる。

    部分的な情報にだけアクセスを許可したいときに、認証・認可が役立つ。



    参考 

    「認証」とは、クライアントの身元を判別するためのプロセスです。 これに対して、「承認」とは、認証されたクライアントが一連のリソースに対してどのような権限を持つかを決定するためのプロセスです。つまり、認証とはユーザーを識別するもので、承認とはユーザーが行えることを決定するものです。

    freee API Playgroundについて


    [現在開発中のアプリケーションです]


    freee API Playground (GitHub)


    freee APIを試すためのアプリケーションです。


    以下同意の上でご利用ください。

    このアプリケーションでできることは以下のとおりです。
    1. API リファレンスのtry it outと同様にAPIの実行ができる(※1)
    2. アクセストークンを自動・手動で更新できる
    3. レスポンスヘッダーを取得できる
    4. オリジナルのコードをcloneして改造できる

    連携方法と利用方法はGigHubのREADMEに記載しています。


    プライバシーポリシー


    1. ユーザが取得・更新したアクセストークン、リフレッシュトークンといった機密情報は、Google Apps Scriptの実行ユーザのみがアクセスできるUserPropatiesに保存されます。(※2)

    2. このアプリケーションは以下のライセンスで公開しています。



    (※1)
    API リファレンス

    (※2)


    2020年7月1日水曜日

    JIRAのフィールドをプロジェクト単位で非表示にしたい


    MISSION
    JIRAのフィールドをプロジェクト単位で非表示にする


    KEY
    Issue layout > Edit layout



    STEPS


    STEP1
    Project settingsをクリックします。



    STEP2
    Issue layoutをクリックします。



    STEP3
    対象の課題タイプでEdit layoutをクリックします。


    STEP4
    ① 表示中のフィールド
    ② 値が空の時は非表示にしたいフィールド
    ③ 常に非表示にしたいフィールド


    ② の場合は課題の画面で Show 7 more fields をクリックすると表示される



    参考

    課題ビューでのフィールド レイアウトの設定
    https://ja.confluence.atlassian.com/jiracorecloud/configure-field-layout-in-the-issue-view-961798123.html



    JIRAのフィールドを特定のプロジェクトにだけ適用したい


    MISSION
    同一の画面を使っているプロジェクトにフィールドを追加した際、特定のプロジェクトにだけフィールドを表示する。


    KEY
    Edit Configuration > Apply to issues under selected projects



    STEPS


    STEP1
    Project settingsをクリックします。



    STEP2
    Fieldsをクリックします。



    STEP3
    右端の鉛筆アイコンをクリックします。



    STEP4
    Custom fieldsをクリックします。



    STEP5
    ① 対象のフィールド名を検索します。
    ② 右上の ... アイコンをクリックします。
    ③ Contexts and default valueをクリックします。




    STEP6
    Edit Configurationをクリックします。



    STEP7
    ① Apply to issues under selected projectsをチェックします。
    ② プロジェクトを選択します。



    APPENDIX

    複数の設定が絡み合っている感があって、ちょっと混乱しましたがおそらく
    • フィルタを適用した画面に複数のプロジェクトが紐付いていなければ、上記STEPは不要
    • 対象のプロジェクトの画面にフィルタが適用されていなければ、Apply to issues under selected projectsで選択しても画面には表示されない

    2020年6月30日火曜日

    データポータルのビューで別のGoogle Analyticsデータを読み込みたい


    MISSION
    作成したレポートのビュー画面で、別のGoogle Analyticsデータを表示できるようにする



    STEP1
    データ管理アイコンをクリックします。



    STEP2
    任意の位置に配置します。



    STEP3
    ビュー画面を開いてクリックします。



    STEP4
    アクセス可能なGoogle Analyticsデータが表示されます。
    複数ある場合は複数のデータが選択肢に現れます。



    これを利用すると
    ユーザAが作った「レポートX」をユーザBに共有した際、
    ユーザBは自分のGoogle Analyticsデータを「レポートX」に読み込んで表現できる。
    つまりユーザBはレポートを自作せずに、ユーザAが作ったレポートを利用できる。


    参考

    レポートで使用するデータセットを閲覧者が選択できるようにします

    最新の投稿

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

    Google Apps ScriptではデフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えることができる。 順を追ってやってみたので、ステップ化して書き残しておきます。 STEP1 標準のGCPプロジェクトについて確認する まずは、St...