事件同步令牌(412响应状态)

时间:2015-08-06 13:00:32

标签: asana asana-connect

我正在使用RestTemplate对asana的REST Api进行GET调用。 在我打电话时使用邮差:

  

https://app.asana.com/api/1.0/events?resource=PROJECT_ID

我收到了一条消息和一个同步令牌(当同步令牌太旧而需要续订时,情况也是如此。)

通过使用RestTemplate,当同步令牌太旧\它是我正在进行的第一次调用时我需要一个同步令牌,我得到412响应“预测Faild”。 这种情况也发生在邮递员身上,但我与新同步令牌的“错误”消息相关。

使用RestTemplate,我得到的就是这个错误:

  

2015年8月6日下午3:56:55 org.springframework.web.client.RestTemplate handleResponseError   警告:GET请求foPROJECT_ID21650756795165“导致412(前提条件失败);调用错误处理程序   线程“main”中的异常org.springframework.web.client.HttpClientErrorException:412 Precondition Failed       at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:90)       在org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:494)       在org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:451)       在org.springframework.web.client.RestTemplate.execute(RestTemplate.java:409)       在org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:385)       at availo.worker.asana.MainTask.getEvents(MainTask.java:86)       at availo.worker.asana.MainTask.getProjects(MainTask.java:76)       在availo.worker.asana.MainTask.main(MainTask.java:115)

有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

首次订阅资源上的Events时,由于尚未建立同步令牌,因此您将收到412 Precondition Failed响应代码。您应该提取该同步令牌,并在下一个请求中使用它来开始接收事件。

由于412响应代码,看起来RestTemplate正在调用错误处理程序,这是可以理解的,因为412是错误代码。

如果您可以覆盖DefaultResponseErrorHandler.handleError(),请检查响应是否为412,然后提取您可以在下次请求中传递的同步令牌以获取资源上的事件。

另一种选择是使用我们的Java client library,它应该为您处理所有这些。

这可能就像使用我们的客户端一样:

System.out.println("Watching for events on project: " + project.name);

for (Event event : client.events.get(project.id)) {
    System.out.println("User: " + event.user.name + "\nAction: " + event.action + "\nResource: " + event.resource);
}

答案 1 :(得分:0)

这对我有用。它允许您阅读错误附带的消息:

  

restTemplate.setErrorHandler(new DefaultResponseErrorHandler(){               protected boolean hasError(HttpStatus statusCode){                   返回false;               }});

相关问题