Google Translate API Key json format



我正在尝试从本地机器(不是谷歌云)使用谷歌翻译API。

在运行以下命令之前,我运行了

export GOOGLE_APPLICATION_CREDENTIALS=API.json

其中API。json是:

{ "key":"the_key_code" }

运行代码后:

import google.auth
from google.cloud import translate
_, PROJECT_ID = google.auth.default()
TRANSLATE = translate.TranslationServiceClient()

我得到了以下错误:

DefaultCredentialsError: The file API_.json does not have a valid type. Type is None, expected one of ('authorized_user', 'service_account', 'external_account')

然后我将type: service_account添加到json并得到这个错误:

DefaultCredentialsError: ('Failed to load service account credentials from API.json', ValueError('Service account info was not in the expected format, missing fields client_email, token_uri.'))

我找不到任何关于API密钥json文件格式的文档,也没有办法从谷歌云平台导出json文件,只有复制密钥的能力。

关于如何从本地机器翻译工作的任何想法?

我也必须为Analytics API创建一个凭据文件,并且面临同样缺乏信息的问题。我别无选择,使用了新的google Cloud Dashboard,你必须创建一个应用程序,选择你想要的API,然后google为你提供一个有效的凭证文件。

我的文件是这样的:

{
"type": "service_account",
"project_id": "***",
"private_key_id": "***",
"private_key": "-----BEGIN PRIVATE KEY-----nMIIEvQIBADANB***xmw0Fcs=n-----END PRIVATE KEY-----n",
"client_email": "***",
"client_id": "***",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "***"
}

这就是为什么我很确定你必须用翻译API做同样的事情,首先声明"type": "service_account",与你得到的错误匹配。

最新更新