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 からの返信が機械的な返信しかないのかと思いきや、想像以上に丁寧にコメントいただけたのには感動しました。

「Note Apri for Google Drive」改め「Markdown Note Apri」に変更しました。

はじめに

markdown.aprifield.com

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

f:id:aprifield:20200312232408p:plain

アプリタイトルの変更について

以下の記事を書いてからアプリのタイトルを変更しました。 やはり、Google ってブランドをアプリのタイトルにするのはいかがなのもかと思ったからです。

aprifield.hatenablog.com

あと、サブドメインも変更し、https://note.aprifield.com/ から https://markdown.aprifield.com/ に変更しました。

Markdown Note Apri」ってタイトルで Google の OAuth 同意画面を設定しましたので、 よほどのことがない限りは変更しないと思います。

というわけで、次回は Google の OAuth 同意画面の設定内容と Google とのやり取りについて記事を書きたいと思います。

Note Apri for Google Drive をバージョンアップしました。

はじめに

note.aprifield.com

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

f:id:aprifield:20200312232408p:plain

以下の記事を書いてから今回までの変更点をまとめました。

aprifield.hatenablog.com

変更内容

アプリのタイトルを変更

タイトルに for Google Drive を追加しました。 当初は Dropbox などにも対応しようかなと思ってましたが、個人的に利用していて Google Drive で満足したので、専用アプリという位置づけとしました。

ダークテーマ対応

普段の開発で利用している VSCode ではダークテーマを利用しているので、ダークテーマでないとどうしても違和感がありました。 今回、ダークテーマに対応したので、かなりいい感じになったと思います。

その他

軽微なバグ、致命的なバグをひたすら対応していきました。 どうしても拭いきれない Web 感を少しずつ解消していきました。Chrome 限定ですが、スクロールバーをカスタマイズすることでかなり Web 感を減らせたと思いますが、まだまだ先は長そうです。

今後の実装予定

  • 引き続き、なんとなくダサい、Web 感が強いのでアプリ感がでるように変更します。
  • モバイルでの操作感がイマイチなので、まともにモバイル対応していきます。
  • VSCode では可能なスペルチェックを入れたいです。
  • 手抜き実装で、Google ドライブからファイル一覧を取得するときに 1000 を上限にしているので、正しい実装に変更します。
  • フォント変更機能を導入します。これがないと、どうしてもローカルと比べて見劣りしているので。
  • タグに色を設定できるようにするかも?
  • Google ドライブAPI を直接叩いているが、たたけない環境もあるかもしれないので、別サーバを経由する機能を作るかも?
  • 編集して一定期間放置すると Google ドライブにアップロードしていますが、将来的に API の実行回数が問題になるかもしれないので、再検討するかもしれません。

パスワード自動生成サービスを公開しました

f:id:aprifield:20200224123203p:plain

password-generator.aprifield.com

ランダムな文字列を生成するだけのサービスで、似たようなサービスはいくらでもありますが、 他にはないかな?と思われる特徴として(探せばありそうな気もしますが...)、 生成パラメータをURLに設定しておくことができます。

ですので、生成パラメータをブックマークしておくことで、すぐにお気に入りのランダム文字列を生成することができます。

以下はサンプルです。

  • 12 文字、英字小文字のみ

https://password-generator.aprifield.com/?uppercase=off&numbers=off&symbols=off&length=12

  • 16 文字、英字大文字小文字混在、数字も含める

https://password-generator.aprifield.com/?uppercase=on&numbers=on&symbols=off&length=16

ついで、生成した文字列をダウンロードする機能も入れました。 PCのスペック次第ですが、10万件くらいなら数秒、100万件なら30秒くらいで生成完了です。

モールス符号翻訳機を公開しました。

特に新しいサービスではないですが、モールス符号翻訳機を公開しました。

morse-code.aprifield.com

モールス符号を任意のテキストに変更したり、Thinking Face の絵文字(🤔)に変更したりできるお遊びサービスです。 ただそれだけです。

Note Apri - Markdown Note をバージョンアップしました。

はじめに

note.aprifield.com

オンラインで利用可能な Markdown エディターを公開しています。

いろんなサービスに散らばっている個人的なメモを 1 つにまとめること目的とし、もう他のサービスに乗り換えない思いを込めて作成しました。 使いにくいと感じたところなどを日々メンテナンスしています。

前回の公開時からの機能追加がある程度落ち着きましたので、機能追加した内容をまとめました。

変更内容

VSCode と同等の環境を構築する

最近のお気に入りはメモ記載先は Gist でした。 Gistを利用することで、GitHub 上でファイル管理するが簡単にできます。 また、VSCodeGist Extension を利用することで、 エディターで保存した内容が同期されるため、非常に快適に作業できます。

これと同等の環境をオンラインで再現したかったので、 VSCode で利用しているエディターと同じ Monaco Editor を導入しました。 また、マークダウンのフォーマッタとして、VSCode で利用している Prettier を Monaco Editor に適用しました。 Prettier は Markdown のフォーマッタではないでしょうが、Markdownも思いのほかきれいにファーマットしてくれます。 マークダウンのプレビューのスタイルには GitHub と同等の css を導入しました。

ここまでで、ローカルでのエディター環境をオンラインで再現できたと思います。 (まだまだ及ばないところはありますが)

なお、モバイルでは MonacoEditor は使いにくかったので、小さいディスプレイでは通常の textarea を表示するように対応しています。

タグ機能の追加

ノートの管理手法は、フォルダー管理とタグ管理で悩みましたが、タグを採用しました。 ノートの格納先には Google ドライブを採用していますが、 Google ドライブにはタグの機能がいないので、ファイルの説明にタグ情報を付与するようにしています。

今回のサービスのポリシーというか、本サービス内のクラウド上には利用者の情報は極力保存しないようにしているので、タグ情報も Google ドライブに保管しています。そっちのほうが安心して利用できるし、別サービスへの移行も楽だと思うので。

というわけで、現在の機能説明は以下のとおりです。

機能説明

  • 本サービスは Markdown 形式でメモを残すサービスです。
  • 本サービスは Google にログインすることで、メモをご自身の Google ドライブにファイルとして保存します。利用者のメモを本サービスのクラウド上に保存することはありません。
  • ログインしないで利用することは可能ですが、永続的にメモを保存するため、ログインすることを推奨します。
  • 本サービスで Google ドライブと同期できるメモの数は 1000 までです。
  • 本サービスでノートを編集すると、一定期間後に自動的に Google ドライブに同期します。
  • 入力中に中途半端に保存されたり、誤って編集して上書きする可能性がありますが、Google ドライブのバージョン管理機能を利用していますので、そこからロールバックすることが可能です。
  • 本サービスは PWA として作成されています。PWA としてインストールすることで、オフラインでも利用可能となります。
  • オフラインで編集したメモは、次回の画面読み込み時に Google ドライブに同期します。

サービスポリシー

  • 本サービスによりデータを消失しても、一切の責任を負いません。

今後の実装予定

  • ダークテーマを導入します。
  • なんとなくダサい、Web 感が強いのでアプリ感がでるように変更します。
  • 手抜き実装で、Google ドライブからファイル一覧を取得するときに 1000 を上限にしているので、正しい実装に変更します。
  • フォント変更機能を導入します。これがないと、どうしてもローカルと比べて見劣りしているので。
  • タグに色を設定できるようにするかも?
  • Google ドライブAPI を直接叩いているが、たたけない環境もあるかもしれないので、別サーバを経由する機能を作るかも?
  • 編集して一定期間放置すると Google ドライブにアップロードしていますが、将来的に API の実行回数が問題になるかもしれないので、再検討するかもしれません。

Note アプリを公開しました。

前回のサービス公開から2か月ほど経過しましたが、新しいサービスを公開しました。

概要

今回のサービスは、Google ドライブAPI の勉強がてら作成してみました。 認証から Google ドライブ上のファイル操作をすべてブラウザ上の JavaScript だけで完結させています。 以下のファイル操作を行っています。

  • ファイル一覧取得
  • ファイルダウンロード
  • ファイルアップロード
  • ファイル移動
  • ファイルコピー
  • フォルダー作成

機能説明

  • 本サービスは Markdown 形式でメモを残すサービスです。独自のフォーマットで保存せず、テキスト形式で保存するため、再利用性は高いです。
  • 本サービスは Google にログインすることで、ご自身の Google ドライブ にファイルを保存します。利用者のメモを本サービスのクラウド上に保存することはありません。
  • ログインしなくても利用することは可能ですが、永続的にファイルを保存するため、ログインすることを推奨します。
  • 本サービスからファイルを削除しても Google ドライブ からは削除しません。不要なファイルはご自身で削除してください。
  • 本サービスで扱うことのできるメモの数は 1000 までです。

サービスポリシー

  • 本サービスによりデータを消失しても、一切の責任を負いません。