将环境变量传递给Shinyapps.io

时间:2019-12-03 03:02:10

标签: r shiny rstudio

我正在尝试将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文件位于应用程序根目录中。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

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

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

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