やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

RefreshTokenからAccessTokenを取得する

前々回コードのPython3版コード。

ソースコード

# ソースコード
#!python3
#encoding:utf-8

import requests
import json

class RefreshTokenRequester:
    def __init__(self):
        pass
    
    def get_access_token(self, client_id, client_secret, refresh_token):
        data = {
            "client_id": client_id,
            "client_secret": client_secret,
            "refresh_token": refresh_token,
            "grant_type": "refresh_token"
        }
        r = requests.post('https://www.googleapis.com/oauth2/v4/token', data=data)
        refresh_json = json.loads(r.text);
        return refresh_json["access_token"]

if __name__ == "__main__":
    client_id = "aaaaaaaaaaaaaaaaaaaaaaaaaa.apps.googleusercontent.com"
    client_secret = "bbbbbbbbbbbbbbbbbbbbb"
    refresh_token = "dddddddddddddddddddddddddddddddddddddddd"
    
    requester = RefreshTokenRequester()
    access_token = requester.get_access_token(client_id, client_secret, refresh_token)
    print(access_token)

前々回コード

set CLIENT_ID=aaaaaaaaaaaaaaaaaaaaaaaaaa.apps.googleusercontent.com
set CLIENT_SECRET=bbbbbbbbbbbbbbbbbbbbb
set REFRESH_TOKEN=dddddddddddddddddddddddddddddddddddddddd
set CURL_PEM="C:\root\downloads\cacert.pem"

curl -k --cacert %CURL_PEM% --data "refresh_token=%REFRESH_TOKEN%" --data "client_id=%CLIENT_ID%" --data "client_secret=%CLIENT_SECRET%" --data "grant_type=refresh_token" https://www.googleapis.com/oauth2/v4/token

前々回は上記のようなバッチファイルだった。

所感

バッチファイルのほうがスマートに見える…。