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

macOS下用JXA操作Things3调用move方法报Can't convert types错误怎么办

JXA调用Things3的move方法报类型转换错误问题

我正在尝试使用JXA(macOS自动化JavaScript)为macOS端任务管理器Things 3实现自动化功能,目前遇到了与Javascript macOS Error: Named parameters must be passed as an object相关的异常报错。

我尝试按照文档说明调用move方法,传入toDo对象和list对象作为参数,move方法文档截图如下:
move method

我使用的代码如下:

var TaskApp = Application('Things3')

var task = TaskApp.toDos["test555342343"]
var list = TaskApp.lists["Today"]

// 调试确认获取到了正确的待办事项和列表
console.log("Task Name is: " + task.name() + " and task ID is: " + task.id())
console.log("List Name is: " + list.name() + " and list ID is: " + list.id())

TaskApp.move(task, {to: list })

但运行后得到如下报错:

app = Application("Things")
    app.toDos.byName("test555342343").name()
        --> "test555342343"
    app.toDos.byName("test555342343").id()
        --> "7Y9d97VYCysH7ujX9RS2Cb"

/* Task Name is: test555342343 and task ID is: 7Y9d97VYCysH7ujX9RS2Cb */
app = Application("Things")
    app.lists.byName("Today").name()
        --> "Today"
    app.lists.byName("Today").id()
        --> "TMTodayListSource"

/* List Name is: Today and list ID is: TMTodayListSource */
app = Application("Things")
    app.move(app.toDos.byName("test555342343"), {to:app.lists.byName("Today")})
        --> Error -1700: Can't convert types.
Result:
Error -1700: Can't convert types.

我也尝试了非系统保留列表(upcoming、someday、today、inbox均为Things3内置保留列表)Archive,依然出现相同报错:

app = Application("Things")
    app.toDos.byName("test555342343").name()
        --> "test555342343"
    app.toDos.byName("test555342343").id()
        --> "7Y9d97VYCysH7ujX9RS2Cb"

/* Task Name is: test555342343 and task ID is: 7Y9d97VYCysH7ujX9RS2Cb */
app = Application("Things")
    app.lists.byName("Archive").name()
        --> "Archive"
    app.lists.byName("Archive").id()
        --> "THMAreaParentSource/5wJtGuY1hxY3gmMVKJZb76"

/* List Name is: Archive and list ID is: THMAreaParentSource/5wJtGuY1hxY3gmMVKJZb76 */
app = Application("Things")
    app.move(app.toDos.byName("test555342343"), {to:app.lists.byName("Archive")})
        --> Error -1700: Can't convert types.
Result:
Error -1700: Can't convert types.

目前我可以通过修改toDo对象的project或area属性值实现待办移动,但非常疑惑为什么move方法在此场景下无法正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:09:02