Google Cloud SDK cURL облако не разрешает хост
Я пытаюсь настроить 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) облако не разрешает хост: auth curl: (6) облако не разрешает хост: application-default curl: (6) облако не разрешает хост: print-access-token
Покажите мне эту ошибку. В synthesize-text.txt написано, что код ошибки 401.
Как я могу это исправить. Любую помощь ценю.
Редактировать: Когда я извиняюсь за
gcloud auth application-default команда print-acces-tokenВозвращает Переменная окружения не существует! Но я прошу прощения за заданную команду. Что я делаю неправильно?
1 ответ
Это связано с тем, что Windo ws не принимает $(gcloud auth application-default print-access-token)
использование.
Вы можете попробовать записать вывод команды для токена доступа для печати в файл. Например:
gcloud auth application-default print-access-token > token.txt
Затем вы можете назначить это переменной среды:
set /p token=<token.txt
И попробуйте выполнить запрос Text-to-Speech 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
Я получал ту же ошибку при преобразовании речи в текст. Используя ваш совет, я немного изменил команду:
gcloud auth application-default print-access-token > token.txt
set /p token=<token.txt
curl -H "Content-Type:application/json" --data @filepath/myjsonfile.json "https://speech.googleapis.com/v1/speech:longrunningrecognize?key=myKey" > synthesize-text.txt