benten refresh_token

目的

  • アクセストークンの更新を行います。

概要

  • login時に取得したアクセストークンは期限(1日)です。
  • 1日以上認証継続する際には、本コマンドを利用し、認証期限を延長してください。

Warning

事前にログイン認証を行う必要があります。

利用例

  • Help
$ benten.py refresh_token -h
usage: benten refresh_token [-h]

optional arguments:
  -h, --help  show this help message and exit
  • アクセストークンの更新
$ benten.py refresh_token
### benten refresh_token ###
==> response (output to /xxxxx/.benten/auth_info.json)
--> filename = /xxxxx/.benten/auth_info.json
{
    "access_token":"e4147d44af95428cb7bd524611857fe6",
    "refresh_token":"27dc3a8848ef4c149d3da24ef68123db",
    "expires_in":86400,
    "expires_time":1552442424
}

Pythonモジュールとの対応

#!/usr/bin/env python
'''
  example: refresh_token

  usage: python benten_refresh_token.py

'''

import benten_client

import argparse
from logging import getLogger, StreamHandler, DEBUG
logger = getLogger(__name__)
handler = StreamHandler()
handler.setLevel(DEBUG)
logger.setLevel(DEBUG)
logger.addHandler(handler)
logger.propagate = False

# ... parameters

parser = argparse.ArgumentParser(description="example: refresh_token")

args = parser.parse_args()

repo = benten_client.Repository() 

logger.debug("# set access token")
repo.authorize(benten_client.access_token())

logger.debug("# benten refresh_token")

v = {}
v["refresh_token"] = benten_client.refresh_token()

ret_dict = repo.auth.refresh_token.post(**v)

# save auth : required to fetch access_token/refresh_token after
benten_client.save_auth(ret_dict)