以Python串Todoist的範例

官方文件

從官方文件點擊進去,可以看到右方有「Python SDK」,配合捲軸往下,可以直接對照文件與Python的對應語法。

關於自己的token取得,Todoist右上方帳戶頭像後進入設定,或應用程式直接「按O再按S」進入設定,關聯應用,開發者,API口令,複製到剪貼板。

以下是我參考官網文件延伸的函式,可以簡單地取得項目ID,取得項目中的任務,以及新增任務。

# -*- coding: utf-8 -*-

"""
官方文件
https://developer.todoist.com/rest/v2/?python#javascript-sdk
"""

from todoist_api_python.api import TodoistAPI

api = TodoistAPI(YouToken)

def getProjectByName(name):
    # 取得所有 projects 屬性
    try:
        projects = api.get_projects()
        for project in projects:
            if name == project.name:
                return project.id
            #print(project.name)
    except Exception as error:
        print(error)
        return ""

def getTaskByProjectID(api, projectID):
    try:
        tasks = api.get_tasks(project_id = projectID)
        return tasks            
    except Exception as error:
        print(error)
        return []

def addTask(api, project_id, content, description, priority, due_string, labels):
    # (project_id='1234567890', content="task name", description="task description", priority=1, due_string = "Today", labels=['label1', 'label2'])
    try:        
        task = api.add_task(project_id=project_id, content=content, description=description, priority=priority, due_string = due_string, labels=labels) # 添加任務需要有個project_id
        return task
    except Exception as error:
        print(error)
        return None