【发布时间】:2016-06-09 15:46:01
【问题描述】:
我发现一些旧的 Stackverflow 线程与这个问题完全相同,但我无法让解决方案正常工作。
基本上,我想添加暂停时间,并且我了解到这样做的唯一方法 - 根据 [1] - 是通过发出 PUT 请求,将现有对象添加到集合中并添加新对象而不使用身份证。
我已经复制了 [1] 中所示的示例:
https://[DOMAIN].attasksandbox.com/attask/api/v5.0/RESVT?method=POST&sessionID=330051c6aaa24cb48edb3eab113d3a5a&updates=[{
"userID": "57270ab200030c6814a20577576f8399",
"startDate": "2016-08-12",
"endDate": "2016-08-15"
},
{
"ID": "575e7a27001a0dd8312a29defd886b78",
"objCode": "RESVT",
"startDate": "2016-06-01T00:00:00:000+0200",
"endDate": "2016-06-04T00:00:00:000+0200",
"userID": "57270ab200030c6814a20577576f8399"
}]&atomic=true
执行请求时的响应:
{
"data": [
{
"objCode": "RESVT",
"ID": "575e7410001a031e06534a49b3032fd1"
},
{
"objCode": "RESVT",
"ID": "575e7410001a031f1ee4a0379c96d287"
}
]
}
但我在用户的 Timeoff 页面(以及通过 API 搜索 timeoff 对象时)看到的唯一 timeoff 是更新参数中的 last 对象。在上面的示例中,它将是 6 月 1 日至 4 日。如果我重新排列更新数组,使 6 月 1 日至 4 日是列表中的第一个,那么我会看到 8 月 12 日至 15 日。
我也尝试过使用 method=PUT 而不是 method=POST 但后来我收到了这条消息:
{
"error": {
"class": "java.lang.IllegalArgumentException",
"message": "Must specify an ID for each object that is edited"
}
}
我做错了什么?
[1]:php - AtTask API - 添加休假时间 - 代码日志 AtTask API - Adding Time Off Hours
【问题讨论】:
标签: attask