如何使用Todoist API v7创建任务?命令执行失败求助
问题:调用Todoist API创建任务失败
我按照Todoist官方文档提供的curl命令尝试创建任务,但始终无法成功。以下是我使用的命令:
$ curl https://todoist.com/api/v7/sync \ -d token=0123456789abcdef0123456789abcdef01234567 \ -d sync_token="VRyFHr0Qo3Hr--pzINyT6nax4vW7X2YG5RQlw3lB-6eYOPbSZVJepa62EVhO" \ -d resource_types='["projects", "items"]' \ -d commands='[ { "type": "item_add", "temp_id": "fdef5d16-a40a-475e-bd4a-0ccbd6fd8c3f", "uuid": "a3aa2f44-23b4-4986-b513-ef7663bbb...'
可能的问题排查与修复方向:
JSON格式不完整:从你给出的命令能明显看到
commands参数的JSON字符串没写完(末尾是ef7663bbb...),这种残缺的JSON会直接导致API解析失败。你需要补全所有缺失的引号、括号,同时确保item_add命令包含必填字段。一个完整的
item_add命令示例参考:[ { "type": "item_add", "temp_id": "fdef5d16-a40a-475e-bd4a-0ccbd6fd8c3f", "uuid": "a3aa2f44-23b4-4986-b513-ef7663bbb123", "args": { "content": "我的新任务内容", "project_id": 123456789 } } ]验证API Token有效性:确认你的token是正确且未过期的——可以先调用不带
commands的/sync接口,只传token和sync_token,看是否能正常返回项目、任务列表,以此验证token权限。简化sync_token测试:如果不确定当前sync_token是否有效,可以先用
*作为sync_token(代表全量同步)来测试任务创建,排除同步令牌的问题。检查必填字段:
item_add的args里,content是必须填写的字段,没有它API会直接返回错误;如果指定了project_id,要确保这个ID是你有权限访问的项目ID。
修正后的完整curl命令示例:
curl https://todoist.com/api/v7/sync \ -d token=0123456789abcdef0123456789abcdef01234567 \ -d sync_token="*" \ -d resource_types='["projects", "items"]' \ -d commands='[ { "type": "item_add", "temp_id": "fdef5d16-a40a-475e-bd4a-0ccbd6fd8c3f", "uuid": "a3aa2f44-23b4-4986-b513-ef7663bbb123", "args": { "content": "完成API测试任务" } } ]'
建议先优先修复commands的JSON格式问题,再逐步排查其他可能的原因,应该就能解决任务创建失败的问题了。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

