本記事は、PythonでTodoistにプロジェクトやタスクを取得・追加する方法について説明するものです。
具体的には、
・「Python-todoist」ライブラリをインストールする手順
・TodoistのAPIトークンを取得する手順
・「Python-todoist」のコード記述例と実行例
の3つについて説明します。
Todoistから情報取得することで1日のタスクリストを自動作成したり、スケジュールに合わせて特定のスクリプトを自動的に動かしたりということも可能です。
※2019/8/30にAPIバージョンがv8にアップデートされました。v7未対応のライブラリでは動作しないのでご注意ください。
v8の変更点については「TodoistのAPIのv8の主な変更点と対応方法」をお読みだくさい。
「Python-todoist」ライブラリをインストールする手順
「Python-todoist」ライブラリを使う方法を紹介します。
TodoistのAPIを操作するPythonライブラリが作られているのでこちらを利用します。
開発の際は「Todoistデベロッパーのドキュメント」も参考にしてください。
公式で紹介しているライブラリですが、「PyTodoist」と比較するとわかりにくく面倒なセットアップもいります。
「Python-todoist」のライブラリをインストール
pipコマンドで「todoist-python」ライブラリをインストールします。
「Python-todoist」の環境設定
そのままではPython2では動きますが、Python3では動作しません。
ライブラリのドキュメントの手順に従って環境設定する必要があります。
基本的に書いてある内容をそのまま打ち込めばOKです。
GitHubから環境設定に必要なファイルをチェックアウトします。
チェックアウトしたディレクトリに移動します。
virtualenvで仮想環境をセットアップします。
1 2 3 |
$ pip install virtualenv # インストール済みなら不要 $ virtualenv --system-site-packages -p /usr/bin/python2.7 Env $ source Env/bin/activate |
必要なライブラリをインストールします。
$ pip install -r doc/requirements.txt
以上でセットアップは完了です。
TodoistのAPIトークンを取得する手順
自分の管理しているTodoistの情報を取得する為にはAPIトークンと呼ばれるキーを取得する必要があります。
APIトークンを取得する手順を説明します。
1.右上の歯車マークをクリックして「設定」をクリックします。
画面をスクロールすると「APIトークン」の項目があるのでこの文字列をひかえておきます。
「Python-todoist」のコード記述例と実行例
プロジェクトとタスクを追加するコードは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from todoist.api import TodoistAPI api_token = ”123456789abc(取得したAPIトークンを指定)” # Todoistから情報を取得 api = TodoistAPI(api_token) api.sync() # プロジェクトを追加 project1 = api.projects.add('テストプロジェクト') # タスクを追加 task1 = api.items.add('テストタスク', project1['id']) # Todoistに反映する api.commit() |
APIのドキュメントとライブラリのドキュメントにその他の操作についても書かれているのでそちらも参考にしてください。
以上、Todoistの情報をPythonで取得する方法でした。
終わりに
今回は「python-todoist」ライブラリを紹介しました。
PythonでTodositのタスクを取得できるライブラリには「PyTodoist」の方があります。
PyTodoistのが比較的わかりやすく、Python3用の設定の手間もないのでオススメです。
Todoistから情報取得することで1日のタスクリストを自動作成したり、スケジュールに合わせて特定のスクリプトを自動的に動かしたりということも可能となります。
Todoistを活用しているという方は是非試してみてください。
関連記事>>「PyTodoist」ライブラリでタスクを取得する方法
「python-todoist」ライブラリのドキュメント
関連記事>>Todoist活用方法まとめ
◆オススメの記事
Todoistに登録する方法
SlackとTodoistを連携する
TodoistとGoogleカレンダーを連携する