
【トークン取得編】ユーザのGoogleカレンダー情報を取得できる、よく見る同意画面を実装する方法
2024/11/10背景
趣味で開発しているアプリのカレンダー機能を充実させたいと思い、Google Calendar の情報を表示する機能を追加することにしました。
そこで、ユーザーが簡単に Google アカウントと連携できるよう、いつも見るような同意画面で Google Calendar 連携できるようにしたいと思い実装しました。

概要
処理のイメージは以下のような感じです。
- ユーザーが連携ボタンをクリック
- Google Cloud で設定した際に取得した Client ID などを使って、認証用の URL を生成
- ブラウザに認証用の URL にアクセスさせる(リダイレクト)
- Google 専用の同意画面が表示され、ユーザが Google アカウントの選択と同意を行う
- 設定した callback URL に認証コード付きでアクセスされる(リダイレクト)
Google Cloud の設定
Google Calendar を取得するには、Google Cloud で Google Calendar API を有効にしたり、トークンを取得できるように設定する必要があります。
- Google Cloud Consoleにアクセスし、検索窓で[Google Calendar API]を検索して有効にする

- 検索窓で[API とサービス]を検索し、[OAuth 同意画面] メニューを選択し、[外部]を選択して作成する

- アプリの情報を入力する

- スコープ情報を入力する

- テストユーザのメールアドレスを入力する

- [同意情報]の入力後、[認証情報]メニューを選択、[認証情報を作成]を選択し、[OAuth クライアント ID]を選択する

- ウェブアプリケーションを選択し、名前やリダイレクト先を入力し、作成ボタンを押下する
