LoginSignup
86
92

More than 5 years have passed since last update.

Google API OAuth2.0のアクセストークン&リフレッシュトークン取得手順 2017年2月版

Last updated at Posted at 2017-02-25

概要

  • Rubyを使って、自動でGoogleシートに記述するプログラムを作成しましたが、その際にGoogle APIのトークンを取得するのに手間取りました。
  • こちらに詳しく情報をまとめましたので、参考にして頂ければ感謝です。

手順

1.取得に使うGoogleアカウントでログイン

2.Google Developers Consoleにアクセス

3.API プロジェクトを作成

スクリーンショット 2017-02-25 15.11.11.png

  • プロジェクト名を入れて、作成

スクリーンショット 2017-02-25 15.13.34.png

4.左メニューのライブラリ -> 「Drive API」を選択

スクリーンショット 2017-02-25 15.15.18.png

  • 「有効にする」をクリック

スクリーンショット 2017-02-25 15.17.19.png

  • 「認証情報を作成」をクリック

スクリーンショット 2017-02-25 15.18.20.png

  • API を呼び出す場所を選択
  • アクセスするデータの種類を選択
  • 「必要な認証情報」をクリック

スクリーンショット 2017-02-25 15.21.09.png

  • 承認済みのJavaScript生成と承認済みのリダイレクトURIに http://localhost と入力する。

スクリーンショット 2017-02-25 15.23.37.png

  • ユーザーに表示するサービス名を入力

スクリーンショット 2017-02-25 15.27.01.png

  • クライアント情報をダウンロード

スクリーンショット 2017-02-25 15.28.08.png

  • ダウンロードしたファイルをjsonファイルをテキストエディタで開く。

スクリーンショット 2017-02-25 15.30.08.png

  • 見やすいように整形する

スクリーンショット 2017-02-25 15.31.31.png

5.クエリパラメータを追加したURLにブラウザでアクセス

https://accounts.google.com/o/oauth2/auth
?client_id=[4で取得したクライアントID]
&redirect_uri=[4で設定したリダイレクトURI]
&scope=https://www.googleapis.com/auth/drive (使用したいサービスのAPIにスコープする。今回はGoogleドライブ)
&response_type=code (認証をコードとして出力)
&approval_prompt=force (認証をスキップしない)
&access_type=offline (オフラインでAPIを使用=リフレッシュキーを発行)
  • 実際に送る値
https://accounts.google.com/o/oauth2/auth
?client_id=343334006922-91apn6sc3852qhdom1nto19esggso1d8.apps.googleusercontent.com
&redirect_uri=http://localhost
&scope=https://www.googleapis.com/auth/drive
&response_type=code
&approval_prompt=force
&access_type=offline
  • 新規でタブを開き、検索窓に入力し、エンターを押す。

スクリーンショット 2017-02-25 15.36.51.png

  • 以下の画面になったら、「許可」をクリック

スクリーンショット 2017-02-25 15.39.22.png

  • 画面自体は表示されないが、検索窓に返ってくる code= 以下をコピー

スクリーンショット 2017-02-25 15.40.25.png

  • ターミナル上でIDとURIやキー等を用いて以下のようなコマンドを実行する
curl -d client_id=[クライアントID] -d client_secret=[クライアントシークレット] -d redirect_uri=[リダイレクトURI] -d grant_type=authorization_code -d code=[認証コード] https://accounts.google.com/o/oauth2/token
  • 実際の値
curl -d client_id=343334006922-91apn6sc3852qhdom1nto19esggso1d8.apps.googleusercontent.com -d client_secret=aIzSVTkvDPnm6gQcxFk-jtPi -d redirect_uri=http://localhost -d grant_type=authorization_code -d code=4/ybTMw1xiV19_k4wdFZGMJRf9Ytnsdk3N0WpLJ4PpHLo# https://accounts.google.com/o/oauth2/token
  • ターミナルに入力

スクリーンショット 2017-02-25 15.45.07.png

  • エンターを押すと、jsonが返って来る

スクリーンショット 2017-02-25 15.46.26.png

  • このjsonを保存する。
  • 以上の手順を経て、必要なトークンを取得することができました。
  • 取得したすべてのデータは必ずテキストなどに保存してください。
86
92
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
86
92