通过 API 设置完成项目列

Set Finish Project Column via API

当我尝试通过 SmartSheet API 在 sheet 中的一行上设置完成列时,我收到以下消息:

{
    "errorCode": 1080,
    "message": "End Dates on dependency-enabled sheets cannot be created/updated. Please update either the Duration or Start Date column.",
    "refId": "19ufon4xzsn7y",
    "detail": {
        "index": 0,
        "rowId": 4987804240111492
    }
}

如果我想清除特定行的项目日期,我可以将持续时间和开始列设置为空,但完成日期仍然存在。参见 https://smartsheet-platform.github.io/api-docs/#update-rows

连续清除项目日期(包括完成)的编程方法是什么?

我认为只要 依赖项启用 [=43],就不可能以编程方式更新 Finish 日期=].请注意,这是指定为 sheet:

启用依赖项的 sheet 设置(在 Smartsheet UI 中)

如果我手动取消选中此框并通过智能sheetUI保存更改,然后我随后能够通过 API 成功更新 Finish 日期。不幸的是,似乎无法通过 API 禁用 sheet 的依赖项(即,取消选中此框的编程等效项)。我尝试这样做,但收到一条错误消息,表明您无法通过 API.

设置 dependenciesEnabled 属性

请求:

PUT /sheet/{sheetId)
{
   "dependenciesEnabled": false
}

响应:

{
    "errorCode": 1032,
    "message": "The attribute(s) sheet.dependenciesEnabled are not allowed for this operation.",
    "refId": "10pl3li0rs9b"
}

我能够通过 API.

在启用的依赖项 sheet 上以编程方式更新完成日期

为此,我必须在 their specified format, and populate the strict property = true on both of the Start Date and Duration cell objects 中传递日期字符串。

使用 C#,您可以使用此方法正确格式化日期字符串 代码:startDate.ToString("O")