プログラムでTogglに入力されたデータが正しいかどうかを確認する方法(Toggl, C#)

多分、多くの企業は社員の勤務時間や業務内容を何らかの方法で管理しているかと思います。
私が勤めている会社ではTogglを利用して時間や内容を管理しております。
社内では作業した内容や時間を登録することをルール化しています、
でもTogglを使った事がある方なら分かるかと思いますが、
タイマーをスタートしてから止めるのを忘れたり、
プロジェクト名を選択するのを忘れたりすることがよく発生します。
そこでプログラムを利用してTogglに登録された不正データを確認するところをC#で実装してみました。
今回はこちらのプログラムの実装方法ついて紹介したいと思います。

プログラムの大まかな動き

1. Togglからワークスペースの1ヵ月分の詳細レポートを取得します。
2. 詳細レポート内の日付を元に日別にデータを整理します。
3. 日別に整理されたデータを更に各ユーザで整理します。
4. 各ユーザで整理されたデータに不正な入力が無いかどうかを確認して表示します。

前提知識

必要なステップは大きく分けて2つ

  1. TogglのTokenKeyとWorkspaceNameの取得
  2. プログラムの実装

プログラムで利用するToggl情報の取得

TogglでTokenKeyの取得

Togglのサイトにアクセスして、画面左側にある「メニュー」から「Profile settings」を選択して、
「Profile」画面の一番下にある「API token」をメモ帳などにコピーしてください。(プログラムで使います)

TogglでWorkspaceNameの取得

Togglのサイトにアクセスして、画面左側にある「メニュー」から「Workspaces」を選択して、
「Workspace」画面にある「WorkspaceName」をメモ帳などにコピーしてください。(プログラムで使います)

プログラムの実装

TogglAPIの実行プログラムの作成

TogglAPIの「Detailed report」methodを利用して詳細レポートを取得します。


プログラムを実行する上で必要になるNUGETを追加してください。
TogglAPI.Net

メインプログラムの作成

TogglAPIの実行プログラムを使ってメインプログラムを実装していきます。

プログラム内の「設定ファイルの読み込み」の変数に対しては、
「togglTokenKey」に「Step1」で用意した「TokenKey」を指定してください。
「togglWorkspaceName」に「Step1」で用意した「WorkspaceName」を指定してください。
「togglUserAgent」に自分の「メールアドレス」を指定してください。
「checkOvertimeHours」に報告対象となる「時間」を指定してください。

まとめ

今回はTogglのワークスペース内に登録されたデータが正しいかどうかをプログラムで判定させてみました。
実行してみると分かるのですが、
TogglAPIのDetailed reportは1回のアクセスで50件までしか取得することができません、
そのため全件取得を行うためには複数回アクセスする必要があります。
しばらく待つと全件取得が完了した後に不正な入力データの確認が始まります。
このプログラムでは1ヵ月の間隔で確認しておりますが、
プログラム内の「StartDate」と「EndDate」を変更すればデイリーで確認することもできます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください