给Simba ODBC驱动程序或bigrquery访问Google Drive文件

时间:2018-03-07 01:54:36

标签: r google-sheets odbc google-bigquery stata

我正在尝试将基于Google电子表格的BQ表加载到统计数据包Stata中。我尝试了两条路线来实现这一目标。

首先,我使用了适用于Mac的Simba ODBC驱动程序(版本2.1.6),但是我收到以下错误:

The ODBC driver reported the following diagnostics
[Simba][BigQuery] (20) Query execution failed: Access Denied: BigQuery BigQuery: No OAuth token with Google Drive scope was found.
SQLSTATE=HY000

在我的odbc.ini文件中,我设置了RequestGoogleDriveScope = 1,并且正在使用OAuth Mechanism的用户身份验证。我可以在BQ Web UI中查询此表,我可以通过ODBC加载其他非GS表。

其次,我想也许我可以在R中做到这一点,绕过Simba / ODBC:

library(bigrquery)
data <- query_exec("SELECT * FROM my_table;", project = "XXXX", useLegacySql = FALSE)
Error: Access Denied: BigQuery BigQuery: No OAuth token with Google Drive scope was found.

总而言之,此查询在BQ Web UI中有效,并且不适用于R(使用API​​)或Stata(使用ODBC)。共同点是,Stata或R都没有https://myaccount.google.com/permissions中的谷歌驱动器权限,而BQ客户端工具则拥有它们。这是我最好的猜测问题所在。有关如何更改OAuth范围的任何建议都将受到赞赏。

交叉发布on Statalist

1 个答案:

答案 0 :(得分:3)

这是bigrquery的OAuth2主题。该应用程序通常需要访问工作表(Google Drive范围),但它不会在身份验证过程中请求该范围。 bigrquery的开发人员只是决定不这样做。

这里讨论了这个问题:https://github.com/r-dbi/bigrquery/issues/132它似乎超出了它们的范围。

可能的解决方法(尽管未经过测试):