永久保存Googleway API密钥

时间:2018-09-10 16:36:01

标签: r googleway

有什么方法可以将API密钥永久保存到我的R配置文件或环境中,从而不必每次会话都使用set_key()?我不喜欢在代码中保存密钥,因为它在github上。

1 个答案:

答案 0 :(得分:2)

您可以将其放在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

enter image description here

编辑

如果您的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)
}

enter image description here