无法验证 googleCloudStorageR/googleAuthR
Posted
技术标签:
【中文标题】无法验证 googleCloudStorageR/googleAuthR【英文标题】:Unable to Authenticate googleCloudStorageR/googleAuthR 【发布时间】:2019-05-21 19:20:19 【问题描述】:我正在尝试使用 googleCloudStorageR 和 googleAuthR 在 R 中验证 gcs。
我在 gcp 上启用了所有必要的 API。
当我运行 query_exec(sql,project,use_legacy_sql = FALSE) 时,我能够使用 bigrquery 进行身份验证,浏览器打开,令牌被缓存并且一切正常。
但是当我尝试对 googlecloudstorageR gcs_auth() 或 gar_auth() 和 googleAuthR 执行相同操作时。我不断收到以下错误。
错误:选项('googleAuthR.client_id')尚未设置
我现在没有从 API 页面创建凭据的权限。但我不明白为什么我可以通过 gcs_auth 或 gar_auth 验证 bigrquery 而不必执行任何这些操作,但不能通过 googlecloudstorage 进行验证。
我还可以使用 bigrquery .httr/oauth 文件中的相同客户端 ID 和密码通过更改范围来验证 googlecloudstorage 吗?
编辑: 我在工作中使用它,所以我没有权限从https://console.cloud.google.com/apis/credentials 页面创建凭据。
代码:
library(bigrquery)
project <- "mtproject"
sql <- "SELECT * FROM `myproject.Superstore.orders`"
data <- query_exec(sql,myproject,use_legacy_sql = FALSE)
当我运行上述代码时,浏览器会打开并给我一个令牌,然后我将其复制并粘贴到 R 中。
但是当我尝试使用以下 googleAuthR 代码进行身份验证时,没有任何反应,并且我收到错误消息。
library(googleAuthR)
2019-05-21 14:10:34> No environment argument found, looked in GAR_AUTH_FILE
Warning message:
package ‘googleAuthR’ was built under R version 3.5.3
> gar_auth(new_user=TRUE)
Error: option('googleAuthR.client_id') has not been set
我没有为 bigquery auth 设置任何客户端 ID,但它有效,为什么 gar_auth 不起作用?
【问题讨论】:
您需要显示您正在使用的代码。如果没有明确的细节和错误信息,你要么要求志愿者投入大量时间,要么猜测。 ***.com/help/how-to-ask 您尝试从哪个 API 页面创建凭据?当您尝试创建凭据时看到什么消息?您如何尝试从您的代码中进行身份验证? (请提供您的代码的 sn-p) 添加代码和描述@JohnHanley,@AndieVega 嗨,普拉内思。想知道这是否是您的博文medium.com/@praneeth.jm/…?很高兴看到它以及您如何分享这些知识!我添加到reddit.com/r/bigquery 【参考方案1】:通过加载另一个库或在脚本中设置它们来更改选项“googleAuthR.client_id”和“googleAuthR.client_secret”,然后使用带有不同选项集的缓存文件。
如果您总是要使用相同的凭据,请通过创建缓存令牌、将其移动到专用的身份验证文件夹并使用环境变量 GAR_AUTH 或软件包支持的变量来使用自动身份验证选项。
您可以通过以下链接获取更多信息:https://code.markedmondson.me/googleAuthR/articles/troubleshooting.html
【讨论】:
以上是关于无法验证 googleCloudStorageR/googleAuthR的主要内容,如果未能解决你的问题,请参考以下文章
SMTP 错误:无法验证。无法发送消息。邮件程序错误:SMTP 错误:无法验证