カレレポでGoogle OAuthログイン認証が一時的に無効になったお話

# 2019年10月28日以前よりご利用のみなさまへのお詫び

長い間お待たせをしてしまい、誠に申し訳ございません。
現在カレレポは正常に動いております。
今後も運営を行っていきますので、引き続きよろしくお願いいたします。

# カレレポとは
2016年8月頃に[カレレポ](https://www.calendar-report.work/)というサービスをリリースしました。
カレレポはGoogleカレンダーのレポート作成に特化したシンプルなツールです。

使い方は
gamba!さんの『[Googleカレンダーから工数管理をする](https://www.getgamba.com/help/archives/13594/)』(紹介していただきありがとうございます。)
や
日々記事さんの『[日本語完全対応！Googleカレンダーを簡単にCSVでエクスポートする方法](https://hibikiji.com/tips-googlecalendar-export2/)』
が詳しいのでぜひご覧ください。


----

# 現象の説明
2019年10月28日あたりから
**このアプリでは「Googleでログイン」機能が一時的に無効**
という不具合が発生し使用ができなくなった。
![disabled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/ea5f1bcb-a8e5-c149-9f1b-f8b8f822e9db.png)

この現象の経緯と対応について記述する。

# 経緯と対応

## 2019年8月14日 Googleからお知らせが届く

2019年8月14日に、Googleから連絡が届いた。
内容はおおよそ下記の通り。

「悪意のあるアプリケーションからユーザーを守るために、セキュリティの対策を行います。[sensitive API scopes](https://support.google.com/cloud/answer/9110914#sensitive-scope-verification)を経由しユーザーデータへアクセスをするアプリケーションは、[Google API User Data Policy](https://developers.google.com/terms/api-services-user-data-policy)に従っていることを確認するために認証が必要になります。」

「認証を行わない場合、2019年10月28日により、『このアプリケーションは確認されていません』という画面が表示されることになり、ユーザーの同意が得られなくなる可能性があります。」

<img width="844" alt="スクリーンショット 2020-05-02 9.01.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/23c2305b-3fde-babd-a336-307e648f5378.png">

まだカレレポは正常に動作している。
Googleからのメールを見過ごしていたため、対策が遅れることになる。

## 2019年9月18日 Googleから再度お知らせが届く
2019年8月14日の内容と全く同じメールが届く。

## 2019年11月7日 Googleから警告がある
Googleから警告メールが届く。
内容はおおよそ下記の通り。

「Google's OAuthアプリケーションエコシステムの継続的な改善の一部として、悪意のあるアプリケーションの拡散を防ぐための保護機能をリリースしました。認証を行っていないアプリケーションは新規ユーザーの許可を100人までに制限します。」

「あなたのプロジェクトはまだ認証されておらず、新規ユーザー制限の60%に達しました。この制限を越えると新しいユーザーはあなたのアプリケーションでデータにアクセスすることがブロックされます。」

<img width="600" alt="warning.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/4f4c238c-fb84-3d28-36b6-9ad26e9ac2e5.png">

まだ対策を行わないのか、私は。

## 2019年11月11日 午前9時52分頃 ユーザーからアクセスできない報告をいただく

ユーザーからアクセスができない報告をいただき、認証のリクエストを行った。

## 2019年11月11日 午前10時37分頃 Googleリクエストを受け取ったメールが届く 「Icon Url Updated」

「該当プロジェクトの認証のリクエストを受け付けました。」という件名でメールが届く。

本文に
「アイコンを指定するか、アイコンの指定をスキップするか選んでください」
とあり、アイコンを設定して再度リクエストを行った。

**「再度リクエストを行った」これが大きな間違いだった。**

![スクリーンショット 2020-05-02 9.59.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/a129f414-e994-d7d5-1c1b-4971f94cfb67.png)

本文には「認証に必要なステップを完了させて**直接このメッセージに返信をしてください。**」と記述があり、メールに返信をしないといけない。この文を見落としていた。
文章をしっかりと読んでいたら、早く再開ができたのに、自分の無能さが露呈した。

Google Could PlatformのOAuth同意画面には下記のメッセージが表示されており、それを鵜呑みにしていたことで、さらに悪い方向へ進んだ。

「再リクエストを行ったので、最低でも4〜6週間待てば良いだろう。」そう思っていた。

![status.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/3f68d339-7f5e-8f17-c76c-584a7685a688.png)

## 2020年1月6日 再度リクエストを行う

連絡がないためScopeやClientIDの見直しを行い、再度リクエストを行うことにした。

この時、Google検索で「カレレポ」と入力すると、サジェストに「使えない」が表示されていることを、カレレポ考案者が発見し教えてくれた。

当時の写真
![サジェスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/a7ace932-6a55-859e-99ad-ed824011d55b.png)

## 2020年1月6日〜2020年4月29日

何が悪いかわからず、闇雲に修正して再リクエストを送信する期間が続いた。
Googleからの連絡がなくカレレポが再開できないことに落ち込んでいた。
今となっては2019年11月11日のGoogleからのメールに返信をしていない自分を悔やむ。

## 2020年4月29日 Googleからメールが届く 「Action Needed」

ついにGoogleからのメールが届く。

ドメインの認証が行われていないと言われる。
「www.calendar-report.work」のドメインを取得する前の、herokuのドメインが認証されていなかったのだ。
使用していないドメインであるため削除をした。
待ちに待ったメールだったため隅々まで読んだ。今回はメールに返信した。
![スクリーンショット 2020-05-02 10.45.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/fe259f9c-6503-51f3-032f-4c5b06dfe2b2.png)

## 2020年4月30日 Googleからメールが届く 「Action Needed: Test Account」

内容はおおよそ下記の通り。

「認証プロセスを進めるには、OAuthスコープを使用しデータへアクセスしているYouTube動画のリンクを提供してください。」

「下記を英語で詳細に提供してください。
 1. どのようにログインを行うか（clientIDがURLバーにはっきりと見えることを確認してください）
 2. どのようにOAuth tokenをリクエストするか(同意画面と許可ページ)
 3. リクエストしたスコープをどのように使用するか
」


「あなたが動画に映ったり、ナレーションをする必要はなく、画面の映像だけで良いです。」

![スクリーンショット 2020-05-02 10.54.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/a4c5e4c5-6ef5-33f2-8582-2216867e41a3.png)

認証を行うために、動画の提供が必要だと思っていなかった。
これで私もYouTuberだ。
少なくとも1人は見てくれると思うだけで心強い。

しかし問題だ。
**OAuthログインが無効になっているのに、どのようにデモビデオを作成するか。**

考えてもわからないことは聞くしかない。メールに返信をした。

## 2020年5月1日 Googleからメールが届く 「Your Google OAuth Sign-in」

内容はおおよそ下記の通り。

「あなたの返信から察するに、'このアプリでは『Googleでログイン』機能が一時的に無効'の警告が出てそれがビデオ作成の障壁になっているのだと思います。」

「デモビデオで使用する予定のEメールアドレスをこのメールに返信してください。デモビデオを作成するための一時的なアクセスを提供します。」

![スクリーンショット 2020-05-02 11.09.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/3b5e4b45-be33-38ea-c6d8-7de9f76798da.png)

なるほど。Eメールアドレスを添えて、返信を行った。

## 2020年5月1日 Googleからメールが届く 「Your Google OAuth Sign-in」

内容はおおよそ下記の通り。

「あなたのアカウントをホワイトリストに入れました。」

「この間アカウント情報の編集を行わないでください。レビューが終わった時に一時的なアカウントを削除します。」

「メールでビデオのリンクを送ってください。」

![スクリーンショット 2020-05-02 11.21.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/b0409908-82cb-4190-6a50-e0d9157dcbfd.png)

QuickTime Playerで画面撮影をして、YouTubeにアップロードした。
限定公開のリンクを送る。もうすぐ再開できる。

## 2020年5月1日 Googleからメールが届く 「Action Needed」

内容はおおよそ下記の通り。

「サインインのボタンをGoogleブランディングガイドラインに従って更新する必要があります。」

公開から4年ほど経過しているので、その間に色々と変わっていたようだ。

![スクリーンショット 2020-05-02 11.27.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/53235228-5c6b-f4f5-9856-e3588a026092.png)

サインインのボタンを変更し、返信した。

## 2020年5月2日 Googleからメールが届く 「Request Granted」

ついに、認証されました。長かった。。。

![スクリーンショット 2020-05-02 11.32.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71260/03f7a778-c48d-aa1a-c519-18acc239c3ac.png)

# まとめ

対応が遅くなってしまい、利用者の方には本当に申し訳ないです。

- メールは見過ごさない方が良い
- 文章は最後まで読んだ方が良い
- YouTubeに動画をアップロードして検証をしてもらう時代になった

誰かの参考になれば幸いです。
以上、「カレレポでGoogleOAuthログインが一時的に無効になったお話」でした。