首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clockify API -重新启动时间条目

Clockify API -重新启动时间条目
EN

Stack Overflow用户
提问于 2018-12-05 00:42:44
回答 1查看 496关注 0票数 1

我想将用户的最后一个时间条目标记为当前时间条目。换句话说,我想清除给定时间条目的end字段,以指示它尚未完成,它仍在运行。

这样做有可能吗?

我尝试使用Update time entry on workspace端点,如下所示:

代码语言:javascript
复制
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}'

但是响应代码是400,响应如下:

代码语言:javascript
复制
{"message":"text","code":3002}

这个错误代码是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2018-12-13 04:10:13

因此,UpdateTimeEntryRequest (https://clockify.github.io/clockify_api_docs/#/definitions/UpdateTimeEntryRequest)的文档有一点错误或不完整。我通过一些测试发现了这一点,这是你需要做的:

首先,您需要确保拥有时间条目的当前数据,特别是开始日期和计费状态(因为这是API调用中仅有的两个“必需”字段)。您会得到400错误请求,因为您缺少这两个字段-错误消息在这里显然没有帮助,但是400响应代码意味着“服务器无法处理客户端发送的请求,因为无效的语法。”这是有意义的,因为您的输入是无效的。

假设您已经有了时间条目信息(这是我了解您如何知道ID的唯一方法),您可以重新创建整个UpdateTimeEntryRequest数据,但随后将end字段清空或将其完全删除,如下所示:

代码语言:javascript
复制
{
  "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
}

根据我的测试,这将重新启动计时器。如果您遗漏了任何字段,这些字段将被重置,例如:

代码语言:javascript
复制
{
  "start": START_FROM_THE_TIME_ENTRY,
  "billable": BILLABLE_FROM_THE_TIME_ENTRY
}

将重新启动计时器,但它将清除描述、项目/任务和标记,这可能并不可取。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53617722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档