Google の OAuth 同意画面を審査して承認をもらった話

markdown.aprifield.com

オンラインで利用可能な Markdown エディターを公開しています。PWA としてインストールすればオフラインでも利用可能です。

f:id:aprifield:20200506124517p:plain

今回は Google の OAuth 同意画面の審査をしましたので、その件について記載します。

技術ネタなので Qiita に投稿したいところですが、自信を持って「こうすれば審査通りますよ」って言える内容ではないし、サービスによって対応方法は異なるでしょうから、個人ブログに投稿します。

Google の OAuth 同意画面を審査する目的

Google が審査する目的は置いておいて、こちらから審査を依頼する目的は以下の 2 つでしょうか。

  • OAuth レート制限を緩和する
  • OAuth の同意画面に警告が表示されないようにする

OAuth レート制限を緩和する

おそらく、審査を通さないと、ユーザー数の上限が 100 人までに制限されます。 審査を通すことでより多くのユーザーに利用してもらえるようになります。

OAuth の同意画面に警告が表示されないようにする

審査を通さないと以下のような警告画面が表示されるため、ユーザーは安心してサービスを利用できません。 審査を通すことでこの警告は表示されなくなります。

f:id:aprifield:20200420184804p:plain

審査手順と Google とのやり取りのまとめ

一発で審査が通ればよかったですが、そうはいきませんでした。 今後も同じ作業をするかもしれませんので、今回の審査手順と Google とのやり取りをまとめました。

審査に必要な情報

Google Cloud Platform の OAuth 同意画面 を表示すると以下入力が求められますので、 一通り入力したら「確認のため送信」のボタンを押して審査してもらいます。

  • アプリケーション名
    • 任意の名前を入力すればいいと思いますが、以下の注意事項があります。

      名前はアプリケーションを正確に反映し、他の場所でユーザーに表示されるアプリケーション名と一貫している必要があります。アプリケーションが Google などの会社が提供するものであるかのような名前を使用しないように注意してください。

  • アプリケーションのロゴ
    • 指定できる画像は以下の通り。

      最大画像サイズは 1 MB です。使用できる画像形式は JPEGPNGBMP です。

  • スコープを追加
    • アプリが必要とするスコープを追加します。認証のためだけに利用するなら追加不要です。 今回は Google Drive のファイル操作が必要なため、https://www.googleapis.com/auth/drive.file を追加しました。 追加すると、なぜそのスコープが必要が説明が求められます。
  • [アプリケーション ホームページ] リンク
    • ホームページのリンクを入力します。 後で詳しく書きますが、ここはチェックされるため、割と真面目に作る必要があります。
  • [アプリケーション プライバシー ポリシー] リンク
    • プライバシーポリシーへのリンクを入力します。 Google とのやり取りでプライバシーポリシーを突っ込まれることはなかったので、ここはリンクがあるかどうかだけをチェックされているのかもしれません。 今回作成したサービスはほとんど個人情報を扱わないので、過去に作成したブログ用のプライバシーポリシーを少し添削しただけの簡易的なもので公開しました。
  • [アプリケーション利用規約] リンク
    • 省略可とのことなので入力しませんでした。

審査依頼してから最初の返信

審査依頼をすると以下の返信がありました。 「Action Needed: Update Homepage」 とのことです。

f:id:aprifield:20200506124500p:plain

返信内容を確認すると「ホームページはこうあるべき」っていう内容がまとめられています。

実は最初はホームページがない状態で申請したのですが、それが悪かったようです。 ホームページを用意しない代わりに、最初に表示される画面には機能を箇条書きでまとめていましたが、それはホームページとは認められないのでしょうね。

再度審査依頼してから 2 回目の返信

簡易的なホームページを作って再度審査依頼をすると以下の返信がありました。 再び Action Needed: Update Homepage とのことです。

f:id:aprifield:20200506124504p:plain

返信内容を確認すると、最初の返信と重複した内容もありますが、わざわざ強調表示してくれています。 この部分を重点的に対応しろ、ってことだと判断しました。

Thoroughly describe how your app enhances user functionality.

Google 翻訳すると 「アプリがユーザー機能をどのように強化するかを詳しく説明します」 です。

最初は、オンライン Markdown エディターであることと、 Google にログインすることで編集内容を Google ドライブに保存することだけを記載したホームページを作成しました。

これで却下されるってことは、シンプルな textarea を用意して、 そこでの編集内容を Google ドライブに同期するだけのシンプルなサービスだと申請が通らないってことでしょうか。

幸いなことに、作成したサービスにはもっと多くの機能がありますので、 そのことをホームページに追記し、以下のようなメールを返信しました。 (ホームページは日本語のみですので、念のため日本語と英語を併記する形にしておきました。)

f:id:aprifield:20200506124520p:plain

メールには書いていませんが、ホームページにはもっと詳細な機能を載せておきました。

ほんとは、Monaco Editor を利用しているから、VSCode ライクな編集ができますよ、とか、Prettier を埋め込んでるから Markdown をフォーマットできますよ、とか書きたかったですが、それをホームページに書くのは違うような気がしたのでそこは控えておきました。

メールで返信してから 3 回目の返信

再審査の依頼をすると以下の返信がありました。

f:id:aprifield:20200506124510p:plain

今度は Google へのログインボタンが NG とのご指摘です。 Googleここ で画像を提供してるからそれ使ってください、とのことです。 ログインボタンを差し替えて再度申請依頼のメールを返信しました。

f:id:aprifield:20200506124524p:plain

再びメールで返信してから最後の返信

再審査の依頼をすると以下の返信がありました。 Request Granted とのことです。

f:id:aprifield:20200506124513p:plain

無事に審査が通ったようですのでログインを試してみました。その時のキャプチャは以下のとおりです。 このアプリは確認されていません が表示されなくなっており、安心してログインできる状態になりました。

f:id:aprifield:20200506124527p:plain

f:id:aprifield:20200506124530p:plain

最後に

同じように OAuth 同意画面の審査をしている方の参考になれば幸いです。 Google からの返信が機械的な返信しかないのかと思いきや、想像以上に丁寧にコメントいただけたのには感動しました。