将环境变量传递给 shinyapps.io

Passing environmental variables to shinyapps.io

我正在尝试将 Shiny 应用发布到 shinyapps.io,但该应用需要 Quandl API 连接。我不想将 API 键放入我的代码中,所以我使用 .Renviron 文件来存储 API 键。

这是 .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 时,什么也没有打印出来。但是当我在本地 运行 时,密钥被打印出来了。 .Renviron 文件位于应用程序根目录中。

我做错了什么?

正如 Bill Ash 在评论中建议的那样,在脚本开头使用 readRenviron() 对我有用:

---
title: "Test"
runtime: shiny
output: html_document
---

```{r}
readRenviron(".Renviron")
print(Sys.getenv("QUANDL_API_KEY"))
```