如何解决代码 401:请求的身份验证凭据无效 gcloud 语音转文本 2021-01-11 更新
我收到“请求的身份验证凭据无效”错误。这就是我所做的:
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) https://speech.googleapis.com/v1/speech:recognize -d @sync-request.json
在 Windows 机器上。
执行“gcloud auth application-default print-access-token”会给我一个回应。我还设置了 GOOGLE_APPLICATION_CREDENTIALS。
这里出了什么问题?
解决方法
查看文档,它提供了一个使用 curl 的示例:
https://cloud.google.com/speech-to-text/docs/quickstart-protocol
您需要创建一个项目和一个属于该项目的服务帐号,以便将您的请求绑定到一个潜在的可计费资源。
然后,您可以使用服务帐户的应用程序默认凭据,通过 curl,您需要 gcloud auth application-default login
(使用服务帐户)然后 gcloud auth application-default print-access-token
获取 curl 的不记名令牌。
2021-01-11 更新
以下是完整步骤:
PROJECT=[[YOUR-PROJECT]]
BILLING=[[YOUR-BILLING]]
ACCOUNT=[[YOUR-ACCOUNT]] # e.g. roboto
ADDRESS=${ROBOT}@${PROJECT}.iam.gserviceaccount.com
gcloud projects create ${PROJECT}
gcloud beta billing projects link ${PROJECT} \
--billing-account=${BILLING}
# Enable speech-to-text service
gcloud services enable speech.googleapis.com \
--project=${PROJECT}
# Create Service Account
gcloud iam service-accounts create ${ACCOUNT} \
--project=${PROJECT}
# NB The Account needs no roles|permissions
# Create Service Account Key
gcloud iam service-accounts keys create ./${ROBOT}.json \
--iam-account=${EMAIL} \
--project=${PROJECT}
# Export for Application Default Creds
export GOOGLE_APPLICATION_CREDENTIALS="${PWD}/${ROBOT}.json"
# Call it
TOKEN=$(gcloud auth application-default print-access-token)
curl \
--silent \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${TOKEN}" \
https://speech.googleapis.com/v1/speech:recognize \
--data '{ "config": { "encoding":"FLAC","sampleRateHertz": 16000,"languageCode": "en-US","enableWordTimeOffsets": false },"audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } }'
产量:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge","confidence": 0.9823954
}
]
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。