Google Cloud SDK cURL облако не разрешает хост - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь настроить Google Cloud Api на Windows.Я трачу много часов, чтобы решить эту проблему, прочитать все связанные вопросы, ничего не помогает!Сначала я установил переменную

set GOOGLE_APPLICATION_CREDENTIALS="C:\Users\Desktop\directory\filename.json"

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
  -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

Как описано в документации Google.Но в командной строке

curl: (6) cloud not resolve host: auth
curl: (6) cloud not resolve host: application-default
curl: (6) cloud not resolve host: print-access-token

покажи мне эту ошибку.В synthesize-text.txt написано, что код ошибки 401.

Как это можно исправить.Любую помощь ценю.

Редактировать: Когда я извиняюсь, переменная

gcloud auth application-default print-acces-token command
Returns Environment не существует!Но я прошу прощения за заданную команду.Что я делаю не так?

1 Ответ

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

Это связано с тем, что Windows не принимает использование $(gcloud auth application-default print-access-token).

Вы можете попробовать записать вывод команды для токена доступа для печати в файл.Например:

gcloud auth application-default print-access-token > token.txt

Затем вы можете присвоить это переменной среды:

set /p token=<token.txt

И попробуйте выполнить запрос API преобразования текста в речь, например:

curl -H "Authorization: Bearer "%token% \
  -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

В качестве альтернативы, вы можете попробовать использовать API-ключи для ваших запросов.Например:

curl -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?key=YOUR_API_KEY" > synthesize-text.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...