前回はcurlで予定を取り出すところまでは出来たので、次はPython でやってみる。googleがPython用のライブラリを公開しているのだが、AOuth2周りの認可プロトコルでWebへのアクセスがあるので面倒なので自前でやる。と言ってもAOuthで認証コードを取ってくるところはWebに頼らざるをえないのでそこはブラウザにブックマークを作ってしまい、認証コードは手作業でPythonコードにコピペする。取り敢えず他に必要なクレデンシャルの類もハードコーディングである。
この辺りはもっとマシな方法があるのだろうが、自宅用なので棚上げしておく。
中間目標だった『今日から3日間の予定』を Google Calendar API 経由取り出すところまでは出来た。
- 必要なクレデンシャル諸々
- 認証コード
然るべき方法で作成された認証コードの有効期限は10分で、1回しか使えない。(2回目以降はエラーになる)
-
- クライアントID
- クライアント・シークレット
- アクセストークン
認証コードを消費して作られる。リフレッシュトークンからも作られる。有効期限は1時間。*1
-
- リフレッシュトークン
アクセストークンと共に認証コードを消費して作られる。有効期限は新しい認証コードが作らるまで。*2
-
- APIキー
- カレンダーID
Google Calendar でのカレンダー、私の場合は『私関係』『母関係』『妹関係』『ゴミ出し』『配達』の用途毎にカレンダーがある。それを識別するID。