R 的 bigrquery 的身份验证问题

Posted

技术标签:

【中文标题】R 的 bigrquery 的身份验证问题【英文标题】:Authentication issue with R's bigrquery 【发布时间】:2020-04-23 04:20:27 【问题描述】:

This post 明确指出应该使用函数 bq_auth() 在 R 中对 BigQuery 进行身份验证。但是,我创建了一个 BigQuery-Admin 服务帐户,下载了一个服务帐户密钥,并将该密钥传递给了 @ 987654323@函数,但我继续收到错误:

> bigrquery::bq_auth(path = '/Users/nicholas/Downloads/just_downladed_this_key.json')
trying token_fetch()
trying credentials_service_account()
adding 'userinfo.email' scope
Error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so, 6): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so
  Reason: image not found
trying credentials_app_default()
file exists at ADC path: /Users/nicholas/.config/gcloud
Error: parse error: premature EOF

                     (right here) ------^

trying credentials_gce()
Error: argument is of length zero
trying credentials_byo_oauth()
Error: inherits(token, "Token2.0") is not TRUE
trying credentials_user_oauth2()
Gargle2.0 initialize
attempt from: bigrquery
adding 'userinfo.email' scope
loading token from the cache
Error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so, 6): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/openssl/libs/openssl.so
  Reason: image not found

我手上好像遇到了 openssl / libssl 问题...

【问题讨论】:

【参考方案1】:

在 R 中重新安装 openssl 库,然后重新启动 R,就成功了。运行options(gargle_quiet = FALSE) 来暴露错误日志才是真正的诀窍,因为它暴露了问题。

【讨论】:

以上是关于R 的 bigrquery 的身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 服务器上的 R 中验证 BigQuery (bigrquery)

如何使用 Bigquery 在 Google Bigquery 中进行身份验证,而无需使用服务帐户进行用户输入

R星游戏如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?

身份验证令牌、本地存储和流星

使用 4.1.1 之前的身份验证协议通过 R 访问 MySQL

使用 mailR 包通过 R 通过 Outlook 发送经过身份验证的邮件