【发布时间】:2017-06-26 23:32:58
【问题描述】:
我正在尝试使用 Amazon Polly REST API。
有人可以帮我做这个吗?
我正在使用 Java 和 OkHttp3 并尝试过这个:
String url = "https://polly.us-west-2.amazonaws.com/v1/speech";
String postBody = "{\"OutputFormat\":\"mp3\",\"Text\":\"Some text to listen\",\"TextType\":\"text\",\"VoiceId\":\"Joanna\"}";
MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.build();
Request request = new Request.Builder()
.url(url)
.addHeader("Authorization", "AWS <accessKey>:<secretKey>")
.post(RequestBody.create(mediaType, postBody))
.build();
Response response = client.newCall(request).execute();
并收到“403 禁止”的回答。然后我尝试在线执行此 POST 请求 on this service 并收到以下信息: 我究竟做错了什么?我应该修复什么?谢谢!
亚马逊文档:link
请不要建议我使用 SDK!
我读了this、this、this、this和this,但仍然一无所知。
- 我了解我的 secretKey 是机密的,我需要使用加密。
- 我需要像here 描述的那样做请求,但我不明白如何提出自己的请求...
我的参数:
method=POST、host=polly.us-west-2.amazonaws.com、endpoint=https://polly.us-west-2.amazonaws.com/v1/speech、region=us-west-2、content-type=application/json、body of post request={...}、accessKey=...、secretKey=........ 以及如何使用 OkHttp 发出这个请求?请帮忙!
【问题讨论】:
-
那么,您究竟为什么不想使用 SDK?
标签: java amazon-web-services okhttp3 amazon-polly