Webサービス、アプリを作成する中で
Google Calendar、Gmail といったGoogleアプリと連携を
する機会が以前にも増しより多くなってきています。
そんなGoogleアプリと連携する時に使用するのが
Google OAuth認証です!
- Google OAuth認証とは?
- 利用するにはどんな作業が必要なの?
今回はそんな2つの疑問を解決していきます。
Google OAuth認証とは?
Google OAuth認証とは
Googleアカウントに登録されている情報を
開発したWebサービス、アプリ内で
①取得
②追加
③更新
④削除
をできるようにする認証方法のことです。
Google OAuth認証を利用するには?
Google OAuth認証を利用するには
下記の3つの情報を取得する必要があります。
- リフレッシュトークン
- クライアントID
- クライアントシークレット
これら3つの情報をもとにしてGoogleアプリへ書き込みにいく際に必要な
『アクセストークン』を取得します。
認証設定、情報を取得してみよう!
では、実際にGoogle OAuth認証に必要な認証設定、情報の取得をしてみましょう!
作業の流れ 〜クライアントシークレットを取得するまで〜
クライアントシークレットを取得するまでの作業を3つに分けて見ていきます。
- Google API Console より『クライアントID』と『クライアントシークレット』を取得しよう。
- Google OAuth URLより『コード』を取得しよう。
- Google Token URLより『リフレッシュトークン』を取得しよう。
設定手順①:Google API Console より『クライアントID』と『クライアントシークレット』を取得しよう
Google API Console APIへアクセスしよう
まずは、Google API Console へアクセスします。
下記のリンクから飛び、アクセスしてみましょう。
リンク先へ遷移すると、上記の画面が表示されます。
Google Project を作成しよう
サイドバーより「OAuth同意画面」を選択し、「プロジェクトを作成」
をクリックします。
任意の「プロジェクト名」を入力し、「作成」ボタンを押します。
User Type を設定しよう
Google Project の「プロジェクト名」を作成すると、「User Type」の設定を求められます。
「G suite」ユーザーは『内部』を、それ以外の場合は『外部』を選択し「作成」ボタンを押しましょう。
アプリケーション名設定をしよう
「User Type」を設定後にはアプリケーション設定をします。
最小限の設定として「アプリケーション名」を入力後、「保存」ボタンを押しましょう。
認証情報を設定しよう
サイドバーより「認証情報」を選択し、「認証情報を作成」の「OAuth クライアントID」をクリックします。
OAuth クライアントIDの作成をしよう
利用する「アプリケーションの種類」を選択しましょう。
「アプリケーションの種類」を選択後、「名前」と「承認済みのリダイレクトURI」を入力し「作成」ボタンを押します。
「クライアントID」と「クライアント シークレット」を取得できましたね。
上記2つの情報は、管理画面からいつでも確認可能ですので発行時にメモなどは不要となります。
設定手順②:Google OAuth URLより『コード』を取得しよう
次に、以下のGoogle OAuth URLへここまでで取得、設定した「クライアントID」、「リダイレクトURI」と「スコープ」
を書き換え、ブラウザ上で叩くことで『コード』を取得します。
『Google OAuth URL』を作成しよう
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=『クライアントID』&redirect_uri=『リダイレクトURI』&scope=『スコープ』&access_type=offline&approval_prompt=force
『スコープ』とは、どのGoogle APIのアクセスを許可するかを識別するものになります。
以下の表を参考にGoogle OAuth URLを作成してみてください。
内容 | scope |
プロフィール情報 | profile |
メールアドレス | |
Calendar API | https://www.googleapis.com/auth/calendar |
Gmail API | https://mail.google.com/ |
YouTube Data API | https://www.googleapis.com/auth/youtube |
上記以外のAPIを利用する際には下記のリンク先『Google Identity Platform』より探して見てくださいね。
また、複数のスコープを利用したい際には %20 で結合してください。
『コード』を取得しよう
作成したGoogle OAuth URL 先へブラウザ上で遷移してください。
そうすると許可リクエスト画面が表示されますので「許可」を選択します。
リダイレクトし、codeというパラメータが発行されます。
これが今回取得する『コード』になります。
メモしておきましょう。
設定手順③:Google Token URLより『リフレッシュトークン』を取得しよう
「Postman」をダウンロードしよう
『リフレッシュトークン』を取得するために「Postman」というツールを使用します。
以下のリンクより「Postman」をダウンロードしましょう。
「リフレッシュトークン」を取得しよう
上キャプチャのように
送信方法:POST
送信先URL:https://www.googleapis.com/oauth2/v4/token
とします。
Headersを
Content-Type:application/x-www-form-urlencoded
とします。
Bodyを
code:コード
client_id:クライアントID
client_secret:クライアントシークレット
redirect_uri:リダイレクトURI
grant_type:authorization_code
access_type:offline
とします。
入力後、『Send』を押し入力情報が正しければ下記の結果が返ってきます。
{
"access_token": トークン,
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": リフレッシュトークン
}
以上で、『リフレッシュトークン』を取得できましたね。
ここまで、設定お疲れ様でした。
最後に
Google OAuth認証に必要な『クライアントID』、『クライアントシークレット』、『リフレッシュトークン』
を取得できました。
まとめとして
- Google OAuth認証とは、Googleアカウントに登録されている情報を、開発したWebサービス、アプリ内で①取得②追加③更新④削除をできるようにする認証方法!
- Google OAuth認証には『クライアントID』、『クライアントシークレット』、『リフレッシュトークン』が必要!
と言えますね。
最後まで読んでいただきありがとうございました。