首页 > 解决方案 > 将环境变量传递给 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文件位于应用程序根目录中。

我究竟做错了什么?

标签: rshinyrstudio

解决方案


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

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

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

推荐阅读