Я пытаюсь использовать 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-запрос онлайн в этом сервисе и получил следующее: Что я делаю не так? Что мне исправить? Спасибо!
Документы Amazon: ссылка
И, пожалуйста, не предлагайте мне использовать SDK!
Я прочитал это, это, это, это и это, и все равно ничего не понимает.
- Я понимаю, что мой secretKey является секретным и что мне нужно использовать шифрование.
- Мне нужно сделать запрос, как описано здесь, но не могу понять как сделать свой запрос... Мои параметры:
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? Пожалуйста помоги!