我想将用户的上次输入时间标记为当前时间输入。换句话说,我想清除给定时间条目的 void removeFirst ( node * head)
{
node * temp = head;
head = head -> next;
delete temp;
字段,以指示它尚未完成,仍在运行。
有可能这样做吗?
我尝试使用Update time entry on workspace端点,如下所示:
end
但是响应代码为400,响应如下:
curl -H 'Content-Type':'application/json' \
-H 'X-Api-Key':'API_KEY' \
-X PUT https://api.clockify.me/api/workspaces/WORKSPACE_ID/timeEntries/TIME_ENTRY_ID \
-d '{"end":null}'
此错误代码是什么意思?
答案 0 :(得分:0)
因此UpdateTimeEntryRequest(https://clockify.github.io/clockify_api_docs/#/definitions/UpdateTimeEntryRequest)的文档有点错误或不完整。我通过一些测试弄清楚了,这是您需要做的:
首先,您需要确保拥有时间条目的当前数据,特别是开始日期和计费状态(因为这是API调用中仅有的两个“必填”字段)。您由于缺少这两个字段而收到了400错误的请求-错误消息在这里显然没有帮助,但是400响应代码表示“由于语法无效,服务器无法处理客户端发送的请求。”,这是有道理的,因为您的输入无效。
假设您已经有时间输入信息(这是我可以看到您如何知道ID的唯一方法),则可以重新创建整个UpdateTimeEntryRequest数据,然后像这样将空字段终止或完全省略:
{
"start": START_FROM_THE_TIME_ENTRY,
"billable": BILLABLE_FROM_THE_TIME_ENTRY,
"description": DESC_FROM_THE_TIME_ENTRY,
"projectId": PROJECT_ID,
"taskId": TASK_ID,
"end": null,
"tagIds": TAGS_ARRAY
}
根据我的测试,这将重新启动计时器。如果您遗漏任何字段,则会重置这些字段,例如:
{
"start": START_FROM_THE_TIME_ENTRY,
"billable": BILLABLE_FROM_THE_TIME_ENTRY
}
将重新启动计时器,但是它将清除描述,项目/任务和标签,这可能不是可取的。