Django

PythonでTodoistAPIを動かす方法【タスク管理自動化】

みなさんはタスク管理アプリに何を使われてますか??

TorelloやGoogleKeep、MicrosoftのTODOとか最近のだとJootoとかもありますね。

僕はかなりのタスク管理マニアなので、一通りのタスク管理ツールは試してきました。
その中で最も気に入って使い続けているツールがあります。

それはTodoistというツールです。

シンプルでわかりやすいUI、オンラインでもオフラインでもストレスなく動作するアプリケーション。
そしてGoogleカレンダーやIFTTTなど、他のアプリケーションとも強固に連携することが可能なパワー。

年4000円ほどのプレミアムプランもありますが、無料枠でも十分すぎるほど役に立ちます。

そしてなんと、APIまで実装されており、自身のタスク管理を自由にスクリプトで扱うことも可能です。
さて、今回はそんなTodoistのAPIをPythonで扱う方法を紹介します。

PythonやDjangoの使い方については書いていません。
これから勉強を始める方にはこの動画教材とかおすすめです。

僕もこれで勉強しましたが、Pythonの基礎からDjangoの使いかた、アプリケーションのデプロイまで体系的に学べます。

[kattene]
{
“image”: “https://i.udemycdn.com/course/240×135/1159316_eaab_8.jpg”,
“title”: “プログラミング初心者でも安心、Python/Django入門講座 “,
“description”: “初心者にオススメなプログラミング言語「Python」と、便利なWebアプリケーションフレームワーク「Django」でWebアプリケーションの作成方法を学ぼう! “,
“sites”: [
{
“color”: “orange”,
“url”: “https://px.a8.net/svt/ejp?a8mat=2ZLBNL+2HB1IQ+3L4M+BW8O2&a8ejpredirect=https%3A%2F%2Fwww.udemy.com%2Fpythondjango-a%2F”,
“label”: “Udemy”,
“main”: “true”
}
]
}
[/kattene]

もくじ

  1. つくるもの
  2. APIを使ってみる
  3. まとめ

つくるもの

今回TodoistAPIを使用して作ったものはこちら。

プロジェクトごとのタスク完了状況をパーセンテージで表示してくれるプログラムです。
中身はPythonとDjangoでできてます。

今回はこの内部で動作している、PythonでTodoistAPIを扱う部分のみ紹介します。

APIを使ってみる

Pythonのインストールされた環境を想定しています。
まずはpipでパッケージをインストールします。

  pip install todoist-python

次は、API連携に必要なAPIトークンを確認します。
Todoistにログインして、[右上の歯車]→[設定]→[連携機能]の順にクリックします。

一番下までスクロールすると、[API トークン]という項目があるので、ここに表示されている文字列をコピーしておきます。

ここまで来たらちょっと動かしてみましょう。

from todoist.api import TodoistAPI
api = TodoistAPI('コピーしたAPIトークン')
api.sync()
print(api.state['projects'])

上のスクリプトを実行すると、以下のようなJSONが返ってきます。
自分のプロジェクトとその情報がいっぺんに渡される感じですね。

  >>> print(api.state['projects'])
  [Project({'child_order': 0,
   'collapsed': 0,
   'color': 48,
   'has_more_notes': False,
   'id': 2079581639,
   'inbox_project': True,
   'is_archived': 0,
   'is_deleted': 0,
   'is_favorite': 0,
   'legacy_id': 200533447,
   'name': 'Inbox',
   'parent_id': None,
   'shared': False}), Project({'child_order': 1,
   'collapsed': 0,
   'color': 31,
   'id': 2216588014,
   'is_archived': 0,
   'is_deleted': 0,
   'is_favorite': 0,
   'name': 'Todoistのプロジェクト進捗表',
   'parent_id': 2216588003,
   'shared': False}), Project({'child_order': 1,
   'collapsed': 0,
   'color': 46,
   'id': 2217058005,
   'is_archived': 0,
   'is_deleted': 0,
   'is_favorite': 0,
   'name': 'My Development Plan',
   'parent_id': 2208967577,
   'shared': False})]

TodoistAPIの使い方についてはTodoistAPI公式ドキュメントが充実していてとてもわかりやすいです。
公式最強ですね。

まとめ

さくっとTodoistAPIをPythonで扱う方法についてまとめました。
世の中にはほんとに便利なツールがあふれてますねー。

便利なAPIもたくさんあるので、うまいこと連携&自動化させて生産性を上げていきたいなと思います。

[kattene]
{
“image”: “https://i.udemycdn.com/course/240×135/1159316_eaab_8.jpg”,
“title”: “プログラミング初心者でも安心、Python/Django入門講座 “,
“description”: “初心者にオススメなプログラミング言語「Python」と、便利なWebアプリケーションフレームワーク「Django」でWebアプリケーションの作成方法を学ぼう! “,
“sites”: [
{
“color”: “orange”,
“url”: “https://px.a8.net/svt/ejp?a8mat=2ZLBNL+2HB1IQ+3L4M+BW8O2&a8ejpredirect=https%3A%2F%2Fwww.udemy.com%2Fpythondjango-a%2F”,
“label”: “Udemy”,
“main”: “true”
}
]
}
[/kattene]

COMMENT

メールアドレスが公開されることはありません。