1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人開発でGoogleカレンダー連携アプリを作ったら「Unverified App」の壁にぶつかった話【Google審査突破ガイド2025】

Posted at

※この記事はZennにも投稿しています。
https://zenn.dev/n_kemmochi/articles/4ebc860c889b9a

個人開発でGoogleカレンダーと連携するアプリを作ろうとして、誰もが一度は絶望する画面。

「このアプリはGoogleによって確認されていません(Unverified App)」

僕も先日、日程調整ツール「ScheduLinx(スケジュリンクス)」をリリースした際にこの壁にぶち当たりました。
そしてわずか1週間の格闘の末、ついに「正式承認(Approved)」を勝ち取りました!

この記事では、2025年最新のGoogle審査(Verification Process)のハマりポイントと突破手順を、失敗談を交えて共有します。


📅 作ったもの:ScheduLinx

まず、何を作ったか軽く紹介します。
「調整さん」や「伝助」など、分散しがちな日程調整ツールのURLを一元管理し、Googleカレンダーと同期するツールです。

ScheduLinx - 日程調整の司令塔

この「Googleカレンダー同期」機能のために、calendar スコープ(読み書き権限)が必要になり、Verification(審査)が必須となりました。


🚧 最初の壁:Unverified App画面

開発環境(localhost)では問題なく動いていたのに、いざ本番環境(Vercel)にデプロイして友人に使ってもらおうとしたら、この画面です。


(出典: Google Identity Platform)

「詳細」→「安全ではないページに移動」を押せば使えなくはないですが、怪しすぎて誰も使ってくれません。
さらに、テストユーザーは100人までという制限もあります。

これを消すには、Googleの「OAuth App Verification」を通過するしかありません。


📝 審査突破までの全フロー

結論から言うと、以下の4ステップが必要でした。

  1. ドメイン認証 (Domain Verification)
  2. プライバシーポリシーの整備
  3. デモ動画の提出 (これが最難関!)
  4. Google担当者との英語メールバトル

特に苦労したのは「デモ動画」と「メール対応」です。

1. ドメイン認証

Vercelなどでデプロイしたドメイン(schedulinx.vercel.app)の所有権を証明する必要があります。
Google Search Consoleに登録して、HTMLタグをLPの <head> に埋め込むだけなので、ここは瞬殺でした。

2. プライバシーポリシー

今まで適当に書いていましたが、Googleはここをガチで見てきます。
指摘されて修正したのは以下の2点です。

  • データの保護メカニズム: 「SSL/TLSで暗号化してます」「トークンはHTTP Only Cookieに入れてます」と技術的に具体的に書く必要がある。
  • データの保持・削除: 「サーバーには保存しません」「ログアウトしたら消します」と明記する必要がある。

「ユーザーのプライバシーを尊重します」みたいなポエムだけでは通りません。

3. 【最難関】デモ動画の提出

これが一番のリジェクト要因です。僕は3回撮り直しました。
Googleが求めているのは、「かっこいいPV」ではなく「証拠映像」です。

❌ 却下された動画

  • すでにログイン済みの状態から始まっている
  • 同意画面(OAuth Consent Screen)が一瞬しか映っていない
  • アプリの紹介だけで、権限を使っているシーンがない

⭕️ 通った動画 (1分以内)

  1. ログアウト状態からスタート(必須!)
  2. URLバーを含めて全画面録画
  3. ログインボタンを押して、ポップアップの同意画面を出す
  4. 【最重要】同意画面内の「詳細(# services)」リンクをクリックして、権限リスト(カレンダーの参照・編集など)を展開して見せる
  5. 許可を押して、実際にカレンダーに予定が入るところまで見せる

特に「4」の「リンクをクリックして詳細を見せる」という動作がないと、「同意画面のワークフローが確認できない」と言われて即リジェクトされます。

4. 英語メールバトル

審査はすべて英語のメールで行われます。
AI(今回はAntigravityというエージェント)に英作文を手伝ってもらいましたが、それでもヒヤヒヤしました。

「動画が見れないぞ(権限設定ミス)」「プライバシーポリシー直せ」「動画に同意画面がないぞ」...
次々と来る指摘に対して、即座に対応・修正・返信を繰り返す必要があります。


✅ そして承認へ

粘り強く対応することわずか1週間。ついにこのメールが届きました。

We've approved your OAuth App Verification request

これにより、あの不気味な警告画面は消え、誰でも安心してログインできるようになりました。

💡 まとめ:これから申請する人へ

  1. 動画は「証拠」として撮る: 同意画面のリンク展開は必須アクション!
  2. プライバシーポリシーは技術的に書く: 暗号化や削除フローを明記する。
  3. 諦めない: 担当者は意外と親切(定型文だけど)。指摘通り直せば必ず通ります。

個人開発アプリでも、ちゃんと認証を通せば信頼性が爆上がりします。
これから挑戦する方の参考になれば幸いです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?