Intercom API的Unirest Java POST请求返回错误500
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intercom API的Unirest Java POST请求返回错误500相关的知识,希望对你有一定的参考价值。
我目前正在尝试使用Java的Intercom API在unirest上执行POST请求,它返回服务器错误500,但当我对Postman进行相同的请求时,它返回我想要的结果。
示例代码:
Map<String, String> headers = new HashMap<>();
headers.put("Accept", "application/json");
headers.put("Content-Type", "application/json");
headers.put("Authorization", "Bearer XXXXXXXXXXXXXXXXXXXXXXX");
HttpResponse response = Unirest.post("https://api.intercom.io/conversations/search").headers(headers).body(requestBody).asObject(HashMap.class);
这是我的请求正文
private Map<String, Object> getQueryValues(String field, String operator, Object value)
Map<String, Object> map = new HashMap<>();
map.put("field", field);
map.put("operator", operator);
map.put("value", value);
return map;
private Map<String, Object> getRequestBody()
List<Map<String, Object>> value = new ArrayList<>();
value.add(getQueryValues("updated_at", ">", 1590278400));
value.add(getQueryValues("source.delivered_as", "=", "admin_initiated"));
Map<String, Object> query = new HashMap<>();
query.put("operator", "AND");
query.put("value", value);
Map<String, Object> requestBody = new HashMap<>();
requestBody.put("query", query);
return requestBody;
答案
问题原来是我的UNIX date long值,其中正确的值应该是Epoch秒。因此,我将其从myDate.getTime()
更改为myDate.toInstant().getEpochSecond()
。
以上是关于Intercom API的Unirest Java POST请求返回错误500的主要内容,如果未能解决你的问题,请参考以下文章
Intercom.io API list/listBy/find 在响应正文中仅返回 50 个用户