我正尝试在Java Spring MVC Web应用程序中使用Twilio进行出站调用。我已经传递了进行出站调用所需的授权值和表单数据,但得到了HTTP 400错误。现在,当我尝试使用Postman REST客户端进行发布时,我可以使用Twilio进行出站呼叫。但是,当我使用我的程序发起呼叫时,同样的方法就不起作用了。我使用的帖子如下:
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.addFilter(new HTTPBasicAuthFilter(ACCOUNT_SID, AUTH_TOKEN));
WebResource webResource = client.resource("https://api.twilio.com/2010-04-01/Accounts/ACfeea72833464fc8711f48a0fd/Calls.json");
ClientResponse responseMsg = webResource
.queryParam("From", from)
.queryParam("To", to)
.queryParam("Url", fileUrl)
.queryParam("Method", "GET")
.queryParam("StatusCallback", "https://www.myapp.com/events")
.queryParam("StatusCallbackMethod", "POST")
.post(ClientResponse.class);在我的响应中我得到了HTTP状态400。当我尝试使用postman REST客户端时,也是如此。我如何解决这个问题?
邮差职位如下所示:


如何使用Jersey REST客户端发布相同的帖子?
发布于 2019-06-15 03:43:07
我注意到您使用的是Jersey库1.1x的旧版本。这是我使用Jersey 1.19客户端实现的方式。我没有使用queryParams,而是用他们想要的表单数据构建了一个MultivaluedMap。
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.addFilter(new HTTPBasicAuthFilter(ACCOUNT_SID, AUTH_TOKEN));
WebResource webResource = client.resource("https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxx/Calls.json");
MultivaluedMap<String, String> formData = new MultivaluedMapImpl();
formData.add("From", "+xxxxxxxxxx");
formData.add("To", "+xxxxxxxxxx");
formData.add("Body", "This is a test");
ClientResponse responseMsg = webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, formData);https://stackoverflow.com/questions/51185234
复制相似问题