【问题标题】:Authorization for accessing BigQuery from R session on server从服务器上的 R 会话访问 BigQuery 的授权
【发布时间】:2015-10-16 10:34:51
【问题描述】:

我正在使用 R 和包 bigrquery 从 R 会话访问 Bigquery。 只要我在本地机器上,它就可以很好地工作。 但是,当我尝试从远程服务器上的 R 访问 Bigquery 时,它根本不起作用。

我尝试将 .httr-oauth 文件复制到服务器上的主目录中,但这不起作用。 我收到错误消息:

自动刷新陈旧的 OAuth 令牌。 refresh_oauth2.0(self$endpoint, self$app, self$credentials) 中的错误: 客户端错误:(400)错误请求

我真的不知道在哪里存储必要的凭据,不幸的是我无法通过谷歌搜索主题找到任何有用的信息。

【问题讨论】:

    标签: r google-bigquery


    【解决方案1】:

    默认情况下,bigrquery 用于 oauth 的 httr 将 look in the R session's current working directory 用于 .httr-oauth。您可以使用以下内容覆盖此位置(如果您愿意,可以将其放在您的 .Rprofile 中):

    options("httr_oauth_cache"="~/.httr-oauth")
    

    但是对于您收到的错误消息,位置似乎不是问题,在远程服务器上重做 oauth 流以缓存新凭据可能更容易。要在远程服务器上触发新的 oauth 流:

    1. 确保 .httr-oauth 文件不存在
    2. 重启R
    3. 使用 bigrquery 执行一项查询

    请注意,如果 httr 尝试重定向到 localhost,您可以通过以下方式强制它执行带外 oauth 流:

    options(httr_oob_default = TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多