0

有没有办法将 API 密钥永久保存到我的 R 配置文件或环境中,这样我就不必使用set_key()每个会话?我不喜欢在我的代码中保存密钥,因为它在 github 上。

4

1 回答 1

3

你可以把它放在你的First函数中,它位于你的Rprofile.site文件中。

我不确定您在哪个平台上,但这应该可以

rfile <- list.files(path = Sys.getenv("R_HOME"), recursive = TRUE, 
                    full.names = TRUE, pattern = "Rprofile.site")
file.edit(rfile)

Rprofile.site现在应该在您的编辑器中打开。注意:您可能需要调整系统上文件的文件权限才能写入(保存)

将此添加到.First

# Things you might want to change
# options(papersize="a4")
# options(editor="notepad")
# options(pager="internal")
# set the default help type
# options(help_type="text")
.First <- function(){
  # Your string api key
  google_api_key <- "12345"
  # Use assign to explicitly set the environment in which to populate the key
  assign("my_google_key", google_api_key, envir = .GlobalEnv)
}

保存文件并重新启动 R

在此处输入图像描述

编辑

如果您的 api 密钥是一个Token对象,例如 oauth,只需保存到一个文件并读入并分配给该google_api_key值。如:

.First <- function(){
  # Your oauth api key read in from file
  google_api_key <- readRDS("~/.hide_google_token.rds")
  # Use assign to explicitly set the environment in which to populate the key
  assign("google_oauth_token", google_api_key, envir = .GlobalEnv)
}

在此处输入图像描述

于 2018-09-10T17:28:50.493 回答