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

Posted

技术标签:

【中文标题】如何从闪亮的应用程序访问 bigquery【英文标题】:How to access bigquery from shiny app 【发布时间】:2016-06-09 10:18:27 【问题描述】:

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

我部署的应用程序它不起作用并给出错误:

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

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

【问题讨论】:

?deployApp 并注意 appFiles 参数。将凭证文件加载到您无法控制的服务器上时要格外小心。 出现错误:The project should have one of the following layouts: 1. 'shiny.R' and 'ui.R' in the application base directory,.. appFiles 中应该包含什么内容? 【参考方案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)

【讨论】:

以上是关于如何从闪亮的应用程序访问 bigquery的主要内容,如果未能解决你的问题,请参考以下文章

通常如何从 Google Apps 脚本访问 BigQuery

如何从本地机器访问 GCP bigquery API?

闪亮的如何阻止用户访问选项卡?

能否以编程方式从 ios 应用端访问 bigquery 或 Firebase 分析数据?

闪亮:当用户选择“全部”值时 BigQuery 失败

如何使用shinyjs从闪亮的应用程序物理打印png?