我使用 Google API 控制台创建了一个服务帐户,并希望将此服务帐户与Google BigQuery CLI (bq) 工具一起使用。
我一直在使用命令行工具使用 ~/.bigquery.v2.token 中的有效 OAuth2 凭据成功访问 BigQuery 服务,但是我似乎找不到任何有关如何修改此文件(或以其他方式配置该工具)改为使用服务帐户。
这是我当前的 .bigquery.v2.token 文件
{
"_module": "oauth2client.client",
"_class": "OAuth2Credentials",
"access_token": "--my-access-token--",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"invalid": false,
"client_id": "--my-client-id--.apps.googleusercontent.com",
"id_token": null,
"client_secret": "--my-client-secret--",
"token_expiry": "2012-11-06T15:57:12Z",
"refresh_token": "--my-refresh-token--",
"user_agent": "bq/2.0"
}
我的另一个文件:~/.bigqueryrc 通常如下所示:
project_id = --my-project-id--
credential_file = ~/.bigquery.v2.token
我尝试将 credential_file 参数设置为我的服务帐户的 .p12 私钥文件,但没有运气,它给了我以下错误
******************************************************************
** No OAuth2 credentials found, beginning authorization process **
******************************************************************
并要求我转到浏览器中的链接以再次设置我的 OAuth2 凭据。
命令行工具的初始配置选项“init”:
bq help init
没有显示有关如何设置此工具以使用服务帐户的有用信息。