You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python及REST API修改Todoist任务时长?400报错求解

解决Todoist API修改任务时长400错误的问题

核心问题排查与修复

1. REST API请求方法错误

Todoist的任务更新接口要求使用PUT请求,你当前误用了POST,这是触发400错误的核心原因。修正后的REST代码:

payload = {
    "duration": {
        "amount": 30,
        "unit": "minute"
    }
}
# 将post请求改为put
response = requests.put(f"{TODOIST_API_URL}/{task_id}", headers=headers, json=payload)

2. Python SDK参数传递优化

官方Python SDK的update_task方法支持直接传入duration字典,但如果仍报错可以尝试两种优化方式:

  • 先升级SDK到最新版本(旧版本对duration参数的兼容性较差):
    pip install --upgrade todoist-api-python
    
  • 拆分参数传递(部分场景下更稳定):
    api.update_task(
        task_id=task_id,
        duration_amount=30,
        duration_unit="minute"
    )
    

额外排查点

  • 确认unit值只能是minute或hour,不支持其他自定义单位
  • 检查请求头中的API令牌是否有效,确保拥有任务修改权限
  • 若需清除任务时长,直接传duration=None即可,无需传空字典

内容的提问来源于stack exchange,提问作者TudorT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:09:52