Google made their API so hard to understand, so after struggling with their documentation for their Tasks API I've found this repository that has a well written abstraction around the Tasks API.
This package contains the code from the above repository with some additions I made to make it easy to embed in your web application.
If you're using Node:
npm i google-tasks-api
Or, if you're using plain JavaScript, just add the following script tag:
<script src="https://cdn.jsdelivr.net/npm/google-tasks-api@latest/dist/index.min.js"></script>
You must have a client ID to use Google Tasks API, to get one, go to Google APIs Console and create a new project, then go to Credentials
and click on Create credentials
.
Choose OAuth client ID
, then under application type choose Other
, press Create
and copy the client ID.
If you're on Node, import the API using: (You can skip that if you're not using Node)
import googleTasksApi from 'google-tasks-api'
or
const googleTasksApi = require('google-tasks-api')
Now you can start using the API. Start by autorizing:
await googleTasksAPI.autorize('yourclientid')
That will promote a popup to the user asking him for permission, after he accepts, the promise will resolve and you will be able to use the following self-explaining methods:
Method | Return Type | Description |
---|---|---|
listTaskLists() |
Promise<[]> |
Returns a list of task lists |
insertTaskList({ title }) |
Promise<> |
Receives an object with a title , and creates a new task list |
updateTaskList({ taskListId, title }) |
Promise<> |
Receives an object with a taskListId to update and a title , and updates the task list title |
deleteTaskList({ taskListId }) |
Promise<> |
Deletes a task list |
listTasks({ taskListId }) |
Promise<[]> |
Lists the tasks of taskListId |
insertTask({ taskListId, ...params }) |
Promise<> |
Creates a task in taskListId , a task may have the following fields |
updateTask({ taskListId, taskId, ...params }) |
Promise<> |
Updates a task by its id and task list id |
deleteTask({ taskListId, taskId }) |
Promise<> |
Deletes task taskId in list taskListId |
Any type of feedback, pull request or issue is welcome.
This project is licensed under the MIT License