如何从闪亮的应用程序访问bigquery

时间:2016-06-09 10:18:28

标签: r google-bigquery shiny

我正在尝试构建一个需要访问我的bigquery表的闪亮应用程序,它通过交互式身份验证在本地运行良好。

Whey我部署了应用程序,它无法正常发出错误:

  

错误:oauth_listener()需要一个交互式环境。

这里有一个建议 - Authorization for accessing BigQuery from R session on server,但我不知道如何将.httr-oauth文件传递给shinyapps.io

1 个答案:

答案 0 :(得分:1)

解决方法是您需要在Google Cloud IAM中生成访问令牌json文件,并对BigQuery资源进行相关访问。

此文件应放在您的appDir文件夹中,并在代码中引用,例如:

带有bigrquery

library(bigrquery)
set_service_token('access_token.json')

tb <- bq_dataset_query(
   x = ds,
   query = sql,
   billing = '{your billing project}',
   use_legacy_sql = use.legacy.sql,
   parameters = params
)
dt <- bq_table_download(tb)

或使用retl软件包:

# set env var `BIGQUERY_ACCESS_TOKEN_PATH` to path of your token file.
devtools::install_github(madedotcom/retl)
library(retl)
library(data.table)
dt <- bqExecuteQuery(sql)