我正在尝试使用 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 请求并收到: 我做错了什么?我应该修复什么?谢谢!
亚马逊文档:链接
请不要建议我使用 SDK!
- 我知道我的 secretKey 是秘密的,我需要使用加密。
- 我需要像这里描述的那样做请求,但我不明白如何提出自己的请求......我的参数:,,,,,,,,,, ......以及
method=POST
如何使用OkHttp 发出这个请求?请帮忙!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=...