如何使用服务帐户在没有用户输入的情况下使用 Bigrquery 在 Google Big Query 中进行身份验证
How to authenticate in Google Big Query using Bigrquery without user input using a service account
我需要 运行 使用 windows 任务调度程序的 R 脚本,但是该脚本包含使用 Bigrquery 对 Big Query 的身份验证。我有服务帐户身份验证。当我 运行 脚本时,我被要求输入用户输入,这不允许我按计划 运行 脚本。我得到:
The bigrquery package is requesting access to your Google account.
Select a pre-authorised account or enter '0' to obtain a new token. Press
Esc/Ctrl + C to abort
1. ("Account I've used to authenticate")
这是我的代码:
library(googleAuthR)
library(bigrquery)
scopes = c("https://www.googleapis.com/auth/bigquery")
options(googleAuthR.scopes.selected = scopes)
service_token <- gar_auth_service(json_file="somejason.json")
gar_auth_service("somejason.json")
projectid<-'project_id'
datasetid<-'id'
bq_conn <- dbConnect(bigquery(),
project = projectid,
dataset = datasetid,
use_legacy_sql = FALSE
)
tables_list <- dbListTables(bq_conn)
The bigrquery package is requesting access to your Google account. Select
a pre-authorised account or enter '0' to obtain a new token. Press
Esc/Ctrl + C to abort.
1: ("Account I've used to authenticate")
是否可以在不需要用户输入的情况下使用服务帐户进行身份验证?
所以我读了 .
建议使用 set_service_token(path='somejson.json'),但已删除。相反,我使用了 bq_auth(path='somejson.json').
我需要 运行 使用 windows 任务调度程序的 R 脚本,但是该脚本包含使用 Bigrquery 对 Big Query 的身份验证。我有服务帐户身份验证。当我 运行 脚本时,我被要求输入用户输入,这不允许我按计划 运行 脚本。我得到:
The bigrquery package is requesting access to your Google account.
Select a pre-authorised account or enter '0' to obtain a new token. Press
Esc/Ctrl + C to abort
1. ("Account I've used to authenticate")
这是我的代码:
library(googleAuthR)
library(bigrquery)
scopes = c("https://www.googleapis.com/auth/bigquery")
options(googleAuthR.scopes.selected = scopes)
service_token <- gar_auth_service(json_file="somejason.json")
gar_auth_service("somejason.json")
projectid<-'project_id'
datasetid<-'id'
bq_conn <- dbConnect(bigquery(),
project = projectid,
dataset = datasetid,
use_legacy_sql = FALSE
)
tables_list <- dbListTables(bq_conn)
The bigrquery package is requesting access to your Google account. Select
a pre-authorised account or enter '0' to obtain a new token. Press
Esc/Ctrl + C to abort.
1: ("Account I've used to authenticate")
是否可以在不需要用户输入的情况下使用服务帐户进行身份验证?
所以我读了
建议使用 set_service_token(path='somejson.json'),但已删除。相反,我使用了 bq_auth(path='somejson.json').