記事投稿の経緯
業務内で、GoogleカレンダーAPIを使用した処理を実装した際に、OAuthによる認証で苦戦したので、OAuthについてまとめてみました。
OAuthって何?
OAuthを使うと外部アプリケーションに対して、ユーザーに代わりWebサービスとやり取りする権限を付与してくれる機能です。
下記の記事がOAuthについて図解で説明されているためわかりやすいです。
GoogleではAPIを使用する際の認証と認可にOAuth2.0プロトコルを使用しています。
GoogleAPIを使用する方法
コンソール内で認証情報を作成する際、以下3種類の認証情報の作成方法がある。
APIキーを使用する
他サービスでAPIを使用する際もこのAPIキーを発行して、やり取りを行います。
公開データへのアクセスをリクエストするために使用される一般的な方法です。
OAuth2クライアントID
ユーザー所有データへのアクセスをリクエストするために使用される認証情報のこと。
Google Workspace APIを使用してデータへのアクセスをリクエストする際に使用されるメインの認証情報。ユーザーの同意が必要。
サービスアカウント
サーバー間のやり取りに使用される認証情報。通常、クラウドベースのデータとオペレーションにアクセスするために使用される。ただし、ドメイン全体の権限の委任と併用すると、ユーザーデータにアクセスすることができる。
今回はGoogleカレンダー情報にアクセスして、予定を取得したり、予定の作成を行う必要があったため、OAuth2クライアントID
を使用しました。