如何在.Rprofile中存储API密钥?

时间:2016-06-08 10:50:43

标签: r user-environment

我收到一个令牌,通过API访问R中的IUCN红名单门户。从http://www.inside-r.org/packages/cran/taxize/docs/iucn_summary开始,我阅读了以下内容:

  

" iucn_summary使用新的Redlist API来搜索IUCN ID,因此我们在内部使用rl_search函数。此功能需要API密钥。获取http://apiv3.iucnredlist.org/api/v3/token处的密钥,并将其传递给密钥参数,或存储在.Renviron文件中,如IUCN_REDLIST_KEY = yourkey,或存储在.Rprofile文件中,如选项(iucn_redlist_key =" yourkey")。我们强烈建议您不要在函数调用中传递密钥,而是将其存储在这两个文件中的一个中。此密钥还可以让您使用rredlist包。"

如何将我的密钥存储在.Rprofile

2 个答案:

答案 0 :(得分:1)

从R运行 file.edit("~/.Rprofile")file.edit("~/.Renviron") 这将打开文件。输入您的值,如下所示:

VAR1 = apikey1

VAR2 = apikey2

在Linux系统中,file.edit()打开vim,一旦完成,请使用:退出插入模式,然后输入:x保存修改

有关该主题的更多信息:

https://cran.r-project.org/web/packages/httr/vignettes/secrets.html

答案 1 :(得分:0)

snippet tii 
  setDefaults(getSymbols.${1:tiingo},env=.GlobalEnv,api.key="COPY AND PASTE YOUR OWN KEY HERE")

这可能是您最简单的方法!

不要让它变得复杂,.Rproject文件和其他没有修改的初始外观都没有。 直接创建包含您的信息的代码段。

我的主要动机是将我的getSymbols.tiingo函数的api密钥存储在quantmod中,该密钥是一串字符和数字,我不想每次打开Rstudio都登录tiingo网站查询我的密钥。简单的愿望,不是吗?

这就是我所做的。

工具>全局选项>代码>编辑代码段。 然后根据需要创建一个代码段。

保存此代码段并尝试一下。 就我而言,我只需要在控制台中键入tii,然后按Shift + Tab即可锁定我的代码段,然后按ENTER,就完成了!