Как заставить Google Cloud Text to Speech работать с использованием cURL или Python - PullRequest
1 голос
/ 22 марта 2019

Я пытался следовать следующему совету:

Пример быстрого запуска API Google Cloud Text to Speech

Путаница в интерфейсе преобразования текста в речь Google Cloud (какя могу скачать mp3 файлы?)

https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries

но я просто не могу заставить его работать, даже со всей этой информацией.Что касается пошаговых инструкций, я застрял на:

"И тогда вы можете использовать команду curl примерно так" или "3) Они предоставили пример запроса для генерации файла:"

Где вводится код?Powershell выдает только ошибки, которые, к сожалению, на немецком, поэтому я попытался их перевести.Я не думаю, что он предназначен для использования кода там, так как я ничего не делаю, кроме как скопировать и вставить строки с моими учетными данными.

Вот эта ошибка, когда я вставляю код ссылки № 2, шаг 3) в Powershell:

In line: 3 characters: 5
+ --data "{
+ ~
Expression is missing after the unary operator "-".
In line: 3 characters: 5
+ --data "{
+ ~~~~
Unexpected token "data" in expression or statement.
In line: 3 characters: 9
+ --data "{
+ ~
In the section "Data" the associated statement block is missing.
In line: 17 characters: 6
+} "" https://texttospeech.googleapis.com/v1/text:synthesize "> synth ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
Unexpected Token "" https://texttospeech.googleapis.com/v1/text:synthesize "" in expression or statement.
    + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId: MissingExpressionAfterOperator

1 Ответ

1 голос
/ 22 марта 2019

Я протестировал с Путаница в текстовом формате в Google Cloud (Как загрузить файлы mp3?) .Я получил эту ошибку на шаге 3), и я думаю, это то, что вы видите:

{
  "error": {
    "code": 403,
    "message": "Your application has authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the texttospeech.googleapis.com. We recommend that most server applications use service accounts instead. For more information about service accounts and how to use them in your application, see https://cloud.google.com/docs/authentication/.",
    "status": "PERMISSION_DENIED"
  }
}

Так что моя проблема здесь в аутентификации.Чтобы решить эту проблему, я выполнил шаги в этом документе :

  1. Загрузить ключ учетной записи службы в виде файла JSON
  2. Выполнить export GOOGLE_APPLICATION_CREDENTIALS="[PATH]" (я используюсреда Linux)

В вашем случае вы должны были запустить $env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]", поскольку вы используете Powershell.

...