TogglAPI を python からたたく (1)
Toggl はオンラインベースの行動記録サービス。操作は、Web ブラウザ、デスクトップアプリ、スマホアプリを使うことができる。どのインターフェースを使っても web 上の API をたたいており、スムーズに同期出来るようになっている。API が公開されているので、python からたたいてみる。
参考リンク
Toggl
Toggl API Documentation
API は良く更新されているのか、いくつかバージョンがある。本家サイトのドキュメントは古そうなので注意。
目次
- Toggl のシステム
- API の使い方
- Workspaces の取得する [続く]
- Detailed report を取得する [続く]
Toggl のシステム
Toggl の仕組みは、ざっと以下の通り。
- まず workspace を設定する。(職場の複数部署の掛け持ちを想定?)
- workspace 毎に、project を設定する。
- project には、client を指定できる。
- project 毎に time entry (作業内容) を登録する。
- entry には、開始時刻、終了時刻が設定される。
- enrty には、タグを指定できる。
workspace はデフォルトでは、"username's workspace" が用意されている。workspace をまたぐような設定やデータの取得は出来ない。
なので、例えば「全ての workspace から entry を取得」したい場合、まず、workspace の一覧を取得してから、個々の workspace に対してそれぞれ entry を取得する。
API の使い方
Toggl の API は、Toggl API と、Reports API の 2 種類がある。
Reports API は、web ブラウザで見れるレポートと同等の統計情報を取得できる。読み込み専用。
接続時には、basic 認証を行う。ユーザー名は、API token (webブラウザから、プロフィールタブを開き確認する)、パスワードに、'api_token' を指定する。
python での例
(requests モジュールのインストールが必要。requests が無い場合は urllib2 でがんばる)
続きはまた後日
図の同じ場所に text を入れる
概要
matplotlib で図中にテキストを入れる際に、データの座標ではなく、グラフの座標を指定したい。
用途
- 複数のグラフの同じ位置に文字を入れたいとき
方法
Axes.text() を呼び出す際に、データ座標 (data coords) ではなく、軸座標 (axis coords) を指定する。具体的には、
- 座標範囲は 0~1 を指定。左下が (0, 0)、右上が (1, 1)。
- transform 引数に、呼び出す Axes インスタンスの transAxes メンバを渡す
出典
コード例