如何解决“文件...不存在!” gcloud

时间:2019-05-10 18:06:32

标签: authentication google-cloud-platform google-cloud-speech

我正在尝试从cloud.googe.com执行一些示例代码,该示例代码将示例音频文件转换为文本,但是我收到了一条没有意义的错误消息。

我已经按照指示完成了所有步骤:

  • 创建项目
  • 启用语音转文本API
  • 创建服务帐户
  • 将私钥下载为JSON文件
  • 我打开了终端(版本2.9.4(421.1.1))MacOS 10.14.4
  • 我执行以下代码来设置环境变量: export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"(路径是我下载的JSON文件的位置)
  • 然后我创建他们说要创建的JSON请求文件,这基本上是获取示例音频文件的说明。
  • 然后在初始化gcloud并确保我位于包含我创建的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文件路径。

1 个答案:

答案 0 :(得分:0)

cURL命令使用gcloud工具进行身份验证:gcloud auth application-default print-access-token。由于您使用的是本地计算机来运行或提交API请求,因此您需要在计算机中install and initialize the Cloud SDK (MAC)才能使用gcloud工具。