我正在尝试将 Shiny 应用发布到 shinyapps.io,但该应用需要 Quandl API 连接。我不想将 API key 放入我的代码中,因此我使用 .Renviron
文件来存储 API key 。
这是 .Renviron
文件的内容:
QUANDL_API_KEY=api_key_goes_here
这是 .Rmd 文件的内容:
---
title: "Test"
runtime: shiny
output: html_document
---
```{r}
print(Sys.getenv("QUANDL_API_KEY"))
```
当我部署到 shinyapps.io 时,什么也没有打印出来。但是当我在本地运行时, key 被打印出来了。 .Renviron
文件位于应用程序根目录中。
我做错了什么?
最佳答案
正如 Bill Ash 在评论中建议的那样,在脚本的开头使用 readRenviron()
对我有用:
---
title: "Test"
runtime: shiny
output: html_document
---
```{r}
readRenviron(".Renviron")
print(Sys.getenv("QUANDL_API_KEY"))
```
关于r - 将环境变量传递给 shinyapps.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59149603/