Skip to content

Cosmitar/todoist-js

Repository files navigation

OBSOLETE

Todoist V7 endpoint is deprecated

No Maintenance Intended

todoist-js NPM version

The (un)official Todoist javascript API library

A javascript client for Todoist Sync API with full support of endpoint resources. This is an adaptation from Todoist official Python lib.

How to start

install the package npm install todoist-js --save into your project

Usage

import the API

import TodoistAPI from 'todoist-js'

Create an instance providing an access token (how to get an access token?)

const todoist = new TodoistAPI('xxxxxxxxxx');

Get productivity stats

todoist.completed.get_stats().then(stats => {
  console.log(stats.karma_trend);
});

🚀 You can see full list of capabilities in action into tests folder

Try out the lib by cloning this Runkit notebook

Implementation opportunities

  • Web apps or sites integration.
  • Web plugins for content managers like Wordpress, Joomla, etc.
  • Browsers add-ons.
  • Mobile world with hybrid apps frameworks like react-native, Ionic and others.
  • Node.js on server side and universal javascript apps.
  • Web components for libs like Reactjs, Angular and more.
  • Integration with desktop applications, applets, widgets and all those that support javascript.
  • Can you think of any other?

Documentation

Official API Docs for developers

What's next

  • Implement a demo app using this library.✅ : this is Asist, it can autenticate, sync, fetch and complete tasks for Todoist.
  • Implement a web oAuth2 process and document it.✅ : OAuth process
  • Test browsers compatibility.
  • Test compatibility with Node.

Development / Testing

Clone this repo git clone git@github.com:Cosmitar/todoist-js.git.

This repo includes a Jest suite of tests, used for TDD. Before start, make sure you create a .env file (you can use .env-example as template) and complete, as minimum requirement, the variable ACCESS_TOKEN with a valid user access token (how to get an access token?). Then, install all dev dependencies by running npm install

❌ Do not run all tests together with npm run test or you'll get a max request limit per seconds error.

Run each suite independently like:

npm run test -t api.spec.js

npm run test -t completed.spec.js

npm run test -t filter.spec.js and so on.

❗ Some tests can fail due to restrictions in your account if you're not premium.

If you want to test share.spec.js you need first to include a 2nd access token (from a different user) into .env file, using variable ALTERNATIVE_ACCOUNT_ACCESS_TOKEN

Contributing

Pull requests and issues are welcome. If you've found a bug, please open an issue.

License

MIT

About

!! OBSOLETE !! The (un)official Todoist javascript API library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •