memo

python を使ったデータ処理など

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 でがんばる)

 

続きはまた後日