Google Cloud Text to Speech Недействительный ключ API - PullRequest
0 голосов
/ 11 октября 2018

Я следовал за этой страницей:

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

Я сгенерировал токен доступа с:

gcloud auth application-default print-access-token

и при вводе этого:

curl -H "Authorization: Bearer "$(my_token_is_in_here) \
  -H "Content-Type: application/json; charset=utf-8" \
  --data "{
    'input':{
      'text':'Android is a mobile operating system developed by Google,
         based on the Linux kernel and designed primarily for
         touchscreen mobile devices such as smartphones and tablets.'
    },
    'voice':{
      'languageCode':'en-gb',
      'name':'en-GB-Standard-A',
      'ssmlGender':'FEMALE'
    },
    'audioConfig':{
      'audioEncoding':'MP3'
    }
  }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt

Я получил это:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   605    0   297  100   308    297    308  0:00:01 --:--:--  0:00:01  3517

Но тогда я открыл synthesize-text.txt и обнаружил

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

Ясно, что gcloud дает мне токен, почему не отправляет текст-спиши это признают?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Как сказал Фредрик в своем комментарии, в Документах Google есть ошибка, и она должна быть: -H "Authorization: Bearer $(my_token_is_in_here)" ("в конце, а не после Bearer)

0 голосов
/ 11 октября 2018

[решено]

1) Я пошел в API и Сервисы в раскрывающемся меню «гамбургер»

2) Я пошел в подменю «учетные данные» в левом столбце

3) Я «создал учетные данные» и выбрал ключ API, затем в своем запросе я сформулировал как

Curl -H "X-Goog-Api-Key: my-недавно созданный-API-ключ" -H"Content-Type: application / json; charset = utf-8" --data "{'input': {'text': 'Android - мобильная операционная система, разработанная Google, основанная на ядре Linux и предназначенная главным образом для сенсорного экрана.мобильные устройства, такие как смартфоны и планшеты. '},' voice ': {' languageCode ':' en-gb ',' name ':' en-GB-Standard-A ',' ssmlGender ':' FEMALE '},'audioConfig ': {' audioEncoding ':' MP3 '}} "" https://texttospeech.googleapis.com/v1beta1/text:synthesize"> synthesize-text.txt

теперь это работает.

Так что, кажется, использование'Авторизация на предъявителя 'с ключом учетной записи службы не работает. Я использую Windows 10.

...