我正在尝试从cloud.googe.com执行一些示例代码,该示例代码将示例音频文件转换为文本,但是我收到了一条没有意义的错误消息。
我已经按照指示完成了所有步骤:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
(路径是我下载的JSON文件的位置)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
然后,我没有得到教程页面说我将得到的响应,而是收到了一条错误消息,该消息不在GCP帮助页面上:
ERROR: (gcloud.auth.application-default.print-access-token) File /pathofFile/nameofFile.json (pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
此错误显然不是由于我未能设置环境变量而引起的,因为错误消息显示为“(由GOOGLE_APPLICATION_CREDENTIALS环境变量指向)”,并且错误消息显示了正确的JSON凭证文件的正确路径。肯定有JSON凭证文件;我可以在取景器中看到它。
这里可能出什么问题了?
编辑:当我尝试运行时
gcloud auth application-default login
要么
gcloud auth application-default print-access-token
,
我收到错误消息gcloud: command not found
因此,似乎我没有完全安装Cloud SDK。现在,我想知道为了完成此任务需要安装哪个SDK组件。我需要安装以下哪个?
The latest available version is: 246.0.0
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Components │
├──────────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬───────────┤
│ Status │ Name │ ID │ Size │
├──────────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼───────────┤
│ Update Available │ BigQuery Command Line Tool │ bq │ < 1 MiB │
│ Update Available │ Cloud SDK Core Libraries │ core │ 10.5 MiB │
│ Not Installed │ App Engine Go Extensions │ app-engine-go │ 56.4 MiB │
│ Not Installed │ Cloud Bigtable Command Line Tool │ cbt │ 6.3 MiB │
│ Not Installed │ Cloud Bigtable Emulator │ bigtable │ 5.6 MiB │
│ Not Installed │ Cloud Datalab Command Line Tool │ datalab │ < 1 MiB │
│ Not Installed │ Cloud Datastore Emulator │ cloud-datastore-emulator │ 18.4 MiB │
│ Not Installed │ Cloud Datastore Emulator (Legacy) │ gcd-emulator │ 38.1 MiB │
│ Not Installed │ Cloud Firestore Emulator │ cloud-firestore-emulator │ 40.5 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 34.8 MiB │
│ Not Installed │ Cloud SQL Proxy │ cloud_sql_proxy │ 3.7 MiB │
│ Not Installed │ Emulator Reverse Proxy │ emulator-reverse-proxy │ 14.5 MiB │
│ Not Installed │ Google Cloud Build Local Builder │ cloud-build-local │ 5.9 MiB │
│ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr │ 1.8 MiB │
│ Not Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │
│ Not Installed │ gcloud Beta Commands │ beta │ < 1 MiB │
│ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 105.6 MiB │
│ Not Installed │ gcloud app PHP Extensions │ app-engine-php │ 21.9 MiB │
│ Not Installed │ gcloud app Python Extensions │ app-engine-python │ 6.0 MiB │
│ Not Installed │ gcloud app Python Extensions (Extra Libraries) │ app-engine-python-extras │ 28.5 MiB │
│ Not Installed │ kubectl │ kubectl │ < 1 MiB │
│ Installed │ Cloud Storage Command Line Tool │ gsutil │ 3.8 MiB │
└──────────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴───────────┘
To install or remove components at your current SDK version [245.0.0], run:
$ gcloud components install COMPONENT_ID
$ gcloud components remove COMPONENT_ID
修改:
非常感谢大家的帮助。我最终重新安装了SDK。在我首先下载文件然后运行时安装SDK之前
./google-cloud-sdk/install.sh
但是这次我删除了计算机上的所有SDK文件并运行了
curl https://sdk.cloud.google.com | bash
除此之外,我确保将“ google-cloud-sdk”目录保存到我的根目录中,这样就可以使用默认的.rc文件路径。
答案 0 :(得分:0)
cURL命令使用gcloud工具进行身份验证:gcloud auth application-default print-access-token
。由于您使用的是本地计算机来运行或提交API请求,因此您需要在计算机中install and initialize the Cloud SDK (MAC)才能使用gcloud工具。