我正在使用客户端来测试AtTask API。我得到了很多东西,但也得到了一些意想不到的结果。最新的情况是在向AtTask超时日历中添加新记录时。
我可以很容易地在日历上增加休假时间。我使用POST方法,其URL如下:
https://COMPANY.attasksandbox.com/attask/api/v4.0/resvt?sessionID=SESSIONIDGOESHERE&userID=USERIDGOESHERE&startDate=2014-11-24T00:00:00&endDate=2014-11-28T23:59:59这标志着从11/24到11/28之间的所有日子都是休假。很好,目前为止。问题是,它删除了指定用户的所有其他注销记录。我没有发布删除,所以我不明白为什么记录被删除。更重要的是,我不知道如何防止他们被删除。
再一次,提前谢谢。
发布于 2014-12-02 21:47:14
attask中的时间作为集合存储,当您对集合进行编辑时,它将用更新中提供的日期替换集合数据。这就是为什么您的调用要删除现有数据。
为了增加一个新的时间关闭,你将需要打2个电话,1,以获得退出的时间-关闭和一个输入数据返回与新的日期。
注意-我正在使用我自己的数据,所以日期对我来说有点不同,但是概念是一样的。
你的电话会是
GET /api/resvt/search?userID=[userID]&fields=endDate,startDate,ID它返回的内容如下
{
"data": [
{
"ID": "547debb6000dea62198bd66b7c73e174",
"objCode": "RESVT",
"endDate": "2014-07-08T23:59:00:163-0600",
"startDate": "2014-07-08T00:00:00:163-0600"
},
{
"ID": "547debb6000dea61b8c695ba24918fe8",
"objCode": "RESVT",
"endDate": "2014-02-13T23:59:00:329-0700",
"startDate": "2014-02-13T00:00:00:329-0700"
}
]}
有了它之后,可以使用user对象上的更新命令将新的休假时间添加到集合中。请注意,您正在为系统中已经存在的时间关闭提供ID,而新的时间关闭则不提供任何ID。
PUT /attask/api/v4.0/user/[userID]?&sessionID=[sessionID]&updates={reservedTimes: [ { "ID": "547debb6000dea62198bd66b7c73e174", "objCode": "RESVT", "endDate": "2014-07-08T23:59:00:163-0600", "startDate": "2014-07-08T00:00:00:163-0600" }, { "ID": "547debb6000dea61b8c695ba24918fe8", "objCode": "RESVT", "endDate": "2014-02-13T23:59:00:329-0700", "startDate": "2014-02-13T00:00:00:329-0700" }, { "objCode": "RESVT", "endDate": "2014-02-14T23:59:00:329-0700", "startDate": "2014-02-14T00:00:00:329-0700" } ] } 这是有点笨重和复杂,但这是唯一的方法,在API中,在这个时候。
https://stackoverflow.com/questions/27070749
复制相似问题