gcp_logo

https://console.cloud.google.com/


Googleは自社サービスをAPIという形で公開していて、

Google Cloud Platform(以後GCP)というところでAPIの使用に関する設定を行うことができる。


Google Maps等はGCPで設定をして、支払い設定をしたら、承認等の手続きなしでAPIを利用することができるが、

個人情報を取り扱うようなGoogle Analytics APIでは承認の手続き無しで自身で開発したWebサービスに設置すると、


google_login

Googleへのログインの画面が表示されるところまでは良いが、

ログインの手続きを進めると、


google_login_anotation


このアプリは確認されていませんと表示され、安全でないページに移動して使用の手続きをしなければならない。

開発に関与している方だけで使用するアプリであればこれで良いけれど、

一般公開するのであればこの画面が表示されるのは問題である。


というわけで、

Google Analytics APIの使用をGoogleから承認を受けなければならないが、

その手続きが大変だったのでメモとして残しておく。




アプリのリダイレクト周りは端折り、OAuth同意画面から記載を始める。


oauth_doi


この画面は手続きがすべて終了してステータスが公開になっているものだが、ステータスが公開されていないという体で話を進める。


はじめにアプリケーション名だけを設定して、この画面の下の方にある確認のため送信のボタンを押す。

しばらくしたらGoogleから下記のようなメールが届いた。

Your Google Cloud Project **********

Icon Url Updated

Dear Developer,

Thank you for submitting a verification request.

Based on the type of request you've submitted you can skip the verification process if your app does not need to display an icon. If you decide to skip the verification process, it won't impact the existing functionality of your app, as long as the scopes used by your project don't change. However, if your app is being verified as a captive portal you must complete the verification process.

If your app is a captive portal or you'd like to proceed with the verification process anyway, please ensure you've completed all the necessary steps and respond directly to this message to let us know. If you are requesting verification for a captive portal, please explicitly include this information in your reply to this message. Please note that the review process may take up to 6 weeks. We appreciate your patience during this review period

タイトルを読む限り、アイコンを設定する必要があるので、OAuth同意画面でアイコンを設定して確認のため送信ボタンを押した。


しばらくしたら、Googleから次のメールが届いた。

Your Google Cloud Project ************
    Action Needed

Dear Developer,

Thank you for submitting an OAuth App Verification request

To proceed with the verification process for your project ***********, you will need to provide a homepage that accurately represents your app’s identity to Google users. Every OAuth2 project requires a homepage. To ensure users’ understanding of your app’s purpose, your homepage should:

    ・Be a verified domain under your ownership
    ・Be accurate, inclusive, and easily accessible to all users
    ・Link to an externally accessible domain that describes the necessary content, context, or connection to the app you are submitting
    ・Explain with transparency the purpose for which your application requests user data
    ・Thoroughly describe how your app enhances user functionality
    ・Contain or link to a privacy policy that thoroughly discloses the manner in which your app accesses, uses, stores, or shares Google users’ data (Please review the Limited Use Requirements for more information and guidance)
    ・Not be a link that leads to:
        ・Third party hosting platform where you cannot verify ownership of your specific subdomain (i.e. Google Play Store, Facebook, Instagram, Twitter)
        ・Log-in or Sign-in pages (Placing sign-in restrictions on the homepage is only allowed for internal apps, which are not subject to the verification process. For more information, see How can I mark my app as Internal-only so it does not require verification?)

To update the homepage URL linked to your OAuth Consent Screen, you may do so by taking the following steps:

    1.Sign-in to Google Cloud Console
    2.Select the project ID: ************
    3.Go to Credentials on OAuth consent screen
    4.Enter the homepage URL
    5.Click Submit

どのようなアプリであるかがわかるページとプライバシーポリシーのページが欲しいらしいので、


gcp_app_top


gcp_app_pp


即席でアプリの説明文付きのトップページとプライバシーポリシーのページを準備して、


oauth_doi


OAuth同意画面の下の方にある[アプリケーション ホームページ] リンクと[アプリケーション プライバシー ポリシー] リンクの項目に各々のページのURLと入力して、先程受信したメールに下記のように返信した。

Dear Google Cloud Platform/API Trust & Safety

Thank you for your reply.
I provided a homepage that accurately represents my app's identity and ensured user's understanding of my app's purpose.
I updated the homepage URL linked to my OAuth Consent Screen,and  did 5steps.
So please proceed with the vertification process for my project ***********.

しばらくして、Googleから返信があった。

Your Google Cloud Project ***********
    Action Needed: Test Account

Dear Developer,

Thank you for submitting an OAuth App Verification request

In order to continue with the verification process, you’ll need to create and provide a link to a YouTube video that shows how you’ll use the data you access using OAuth scopes. Specifically, the demo video should detail, in English:

    1.How to log into your project (ensuring that the URL bar with the client ID is clearly visible)

    2.How to request an OAuth token (OAuth Consent Screen/Permissions Page)

    3.How your project's functionality utilizes the requested scopes:

        https://www.googleapis.com/auth/analytics.readonly

Note: You don’t need to be personally visible in the  demo or narrate the video. Demonstrating the process from the keyboard/screen view is sufficient.

You can send us the video by replying to this email with the link. You can find more information in the OAuth Application Verification FAQ. To ensure your communications are not missed, please respond directly to this thread to continue with the verification process. Note that any new email sent to api-oauth-dev-verification@google.com will not be received by our team.

アプリを操作しているところをYouTubeに動画としてアップロードしてほしい。操作の途中で表示される


google_login


Googleへのログインの画面ではURLにあるclient_idのGETパラメータの値がわかるようにブラウザを最大に広げて動画を撮影して、下記の文章でGoogleへ返信した。

Dear Google Cloud Platform/API Trust & Safety

Thank you for your reply.
I provided provide a link to a YouTube video that shows how I'll use the data I access using OAuth scopes.
https://www.youtube.com/watch?v=************

So please confirm  my video and   give me a permission.
Sincerely

これでいけるだろうと承認を待っていたところ、Googleから下記の返信があった。

Your Google Cloud Project *********
        Demo Video: Translation

Dear Developer,

Thank you again for reaching out to us and for your patience!

Would you please provide a YouTube link with the demo video that shows the process to log into your project request OAuth token--with the webpages translated into English? Using the Google Translate Extension may assist you in doing this.

Thank you for your patience. Please let us know if you have any questions.

何だって!?YouTubeにアップロードした動画を翻訳しろと。

どういうことかわからなかったので、Webアプリで多言語モードを追加して、管理画面をすべて英語にして動画を作成し直して下記の文章で返信した。

 Dear Google Cloud Platform/API Trust & Safety

Thank you for your reply.
I provided provide a link to a YouTube video that shows the process to log into my project request OAuth token--with the webpages translated into English.
https://www.youtube.com/watch?v=******************

So please confirm my video and give me a permission.
Sincerely

しばらくしたところでGoogleから下記のような返答があった。

Your Google Cloud Project *************
   Demo Video 
以下省略

一つ前と同じメールが届いた。一体何が問題だったのか?わからなかったのでGoogleに質問してみたところ、


google_login


この画面が日本語であったこと。

もう一つは


google_login_anotation_3_1


Googleにログインした後にどのAPI(スコープ)を利用するか?という画面がなかったことが原因だった。

なぜこの画面がなかったかというと、任意のアカウントで一度でもログインしてしまうとその後はこの画面が省略されてしまい、省略されたことに気付かずに動画を撮影していたことが問題であった。


というわけで、Chromeを開いて、


sec_delete


右上にあるアイコンをクリックして、赤枠で囲った箇所をクリックし、


sec_delete_1


sec_delete_2


sec_delete_2_1


サードパーティによるアクセスを管理の画面を開き、


sec_delete_3


該当するアプリのアクセス権を削除する。




アクセス権を削除した後、動画の撮影をはじめ


google_login_1_1


Googleにログインの画面が表示されたら、画面左下にある言語のセレクトボックスで言語を切り替えてからログインの手続きを進めて、下記の文章でGoogleへ返信した。

Dear Google Cloud Platform/API Trust & Safety

Thank you for your reply.
I provided provide a link to a YouTube video that shows the process to log into my project request OAuth token--with the webpages translated into English.
   https://www.youtube.com/watch?v=***********

しばらくして、Googleから下記の返信があった。

Your Google Cloud Project ************
    Request Granted

Dear Developer,

Thank you for submitting a verification request.

Your project  ************ has been successfully verified. You can check the latest status of your review request on the OAuth Consent Screen page in Google Cloud Console for this project.

Please note that certain new changes made to the Consent Screen post this approval may require you to submit a review request again. These new changes include brand information related changes and access to unverified scopes.

For example, if the OAuth scopes used by your project are not exactly the same as those marked as approved on the OAuth Consent Screen page in Google Cloud Console, your project may present the unverified app screen. It's recommended to select all the OAuth scopes used by your project when you submit the review request. You can add scopes to your OAuth consent screen configuration page by going through steps listed below:

Please note, if your project  *********** intended to request access to OAuth scopes, but no OAuth scopes were originally added to your project  ************​, then this project only got approved on a brand level. Please follow the steps below to ensure your OAuth scope(s) request is submitted for review:

    1.Sign-in to the Google Cloud Console
    2.Select the project-id: *********** 
    3.Go to Credentials on the OAuth Consent Screen
    4.Go to Scopes for Google APIs and click Add scope
    5.Select the requested scope(s)
    6.Click Add
    7.Click Submit for verification

If you followed the steps above, please note that our team will follow-up with you in a separate thread regarding your new verification request. If you have any additional questions, please respond directly to our email. Note that any new email started and sent to api-oauth-dev-verification@google.com from your team will not be received.

Please note that being previously verified for broader sensitive/restricted scopes does not mean that your app may make calls to the more narrow unapproved sensitive/restricted scopes. If you wish to access any new sensitive/restricted scopes, then please add them to your GCP Console OAuth consent screen config page and click “Submit for Verification.

無事承認されたようだ。

これでWebアプリを公開できる。