2018年9月6日木曜日

Python スクリプトから IIJmio クーポンスイッチを操作する ~ 前準備

IIJmio はクーポンスイッチのウェブAPIを公開していまして、ユーザー作成のサービスやアプリなどから高速通信クーポンのON/OFFやクーポン残量などを取得することができます。

「IIJmioクーポンスイッチAPI」について
https://www.iijmio.jp/hdd/coupon/mioponapi.jsp

お盆休みに Slack のウェブ API の使い方が分かったので、今回は Python から IIJmio のクーポンスイッチを制御してみます。最終的には就寝時間当たりで自動的にクーポンOFF、起床時間に自動的にクーポンONするスクリプトを作っていきたいと思います。

最初にデベロッパIDとアクセストークンを取得します。アクセストークン取得の方法は IIJ のページに書いてあるんですが正直わかりにくかったので、下記のページが分かりやすいです。

IIJmioクーポンスイッチAPIをたたいてみる(アクセストークン取得編)
https://www.k-hitorigoto.online/entry/2017/07/06/003228

アクセストークンは取得してから90日間有効なので期限が切れたら取り直す必要があります。ここら辺も自動化できるんだろうけどまだ初心者なので手動でやる方針でいきます。トークンが取れたら、まずは軽く API にアクセスしてみます。
#coding: utf-8
import urllib.request
import urllib.parse
import json

coupon_url = "https://api.iijmio.jp/mobile/d/v2/coupon/"

token = 'ここに取得したトークン'
devid = 'ここにデベロッパID'
headers = {
    'X-IIJmio-Developer': devid,
    'X-IIJmio-Authorization': token
}

req = urllib.request.Request(coupon_url,headers=headers)

res = urllib.request.urlopen(req)

body = res.read()
print(body)
実行したら何か応答が帰ってきました。
とりあえず動いたようです。次はクーポンの制御をやってみたいと思います。