0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Todoist APIを使って、Todoist CLIクライアントを作ってみた。

Last updated at Posted at 2025-02-20

Todoist APIを使って、Todoist CLIクライアントを作ってみた。

はじめに

Todoistは人気のタスク管理ツールですが、普段ターミナルを多用する開発者にとっては、CLIからタスクを管理できると便利です。そこで、Todoist APIを活用して、シンプルなCLIクライアントを作成しました。本記事では、その概要と使い方を紹介します。

Todoistとは?

毎日のやるべきことをオンライン上で管理できるタスクツールです。ブラウザとスマホアプリケーションどちらも対応しているため、外ではIphoneで開いて、家ではパソコンで開いてなんて使い方もできます。
Todoist公式

僕の普段の使い方

普段はTodoistをメモ、後でやること、タスクがごちゃごちゃになったとき書き込むという使い方をしています。毎日使う分には、様々な機能は使わないというのが正直なところです。

欲しかったもの

パソコン作業中にわざわざTodoistのブラウザを開いたりするのはめんどうです。また、普段はコマンドラインで作業をしていることが多くマウスに持ち替えるのもめんどうです。
なので、コマンドライン上でTodoistを扱えたら最高じゃん!ってことになりました。

既存のものではだめなの?

Github上にはいくつかのTodoist CLIクライアントが存在します。
しかし、様々な機能がついていたので、とにかくシンプルなものを作りたかったです。


リポジトリ情報

今回作成したCLIツールのソースコードは、GitHubで公開しています。

🔗 リポジトリ: todoist-CLI

このツールを使用することで、ターミナル上でTodoistのタスクを追加、一覧表示、完了することができます。


機能概要

このCLIツールでは、以下の操作を行うことができます。

  • タスクの追加 (todo add)
  • タスクの一覧取得 (todo ls)
  • タスクの完了 (todo check)

すべての操作は、Todoist APIを通じて行われます。


環境構築

  1. Python のインストール

    本ツールは Python で作成されているため、Python 3.7 以上が必要です。

  2. リポジトリのクローン

    git clone https://github.com/kentyja12/todoist-CLI.git
    cd todoist-CLI
    
  3. 必要なパッケージのインストール

    pip install -r requirements.txt
    
  4. 環境変数の設定

    .env ファイルを作成し、以下の情報を記載します。

    TODOIST_TOKEN=your_todoist_api_token
    INBOX_ID=your_todoist_inbox_project_id
    

    TODOIST_TOKENTodoist API から取得できます。


使い方

タスクを追加

タスクを追加するには、以下のコマンドを実行します。僕は基本的にこのコマンドしか使ってません。

todo add "新しいタスク"

また、特定のプロジェクトに追加したい場合は -p オプションを指定します。

todo add "プロジェクト用タスク" -p 123456789

タスクの一覧表示

現在のタスクを表示するには、以下のコマンドを実行します。またまた僕はこのコマンドしかつかってm

todo ls

特定のプロジェクトのタスクを表示したい場合は -p オプションを使用します。

todo ls -p 123456789

タスクの完了

タスクを完了するには、タスクの番号またはタスク名を指定します。

todo check 1

または、複数のタスクを一度に完了することも可能です。

todo check 1 2 "特定のタスク名"

実装のポイント

このツールの主なポイントは以下のとおりです。

  1. Todoist APIを活用

    • todoist_api_python ライブラリを利用して、API経由でタスクを操作
  2. タスクをプロジェクトのセクションごとに管理

    • タスクを最初のセクションに追加する仕組みを実装
  3. リポジトリの自動更新

    • 一日の最初の実行時に git pull でリポジトリを更新
  4. エラーハンドリングの実装

    • API通信やリポジトリ操作で発生するエラーを適切に処理

まとめ

本記事では、Todoist APIを活用して作成したCLIツールについて紹介しました。このツールを使えば、ターミナルから簡単にTodoistを操作できるため、タスク管理がより効率的になります。

興味のある方は、ぜひ GitHubのリポジトリ をチェックしてみてください!

今後も機能追加を行っていく予定なので、コントリビューションも歓迎です!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?