我想将安全参数传递给 shinyapps.io 部署,以便我的应用程序可以通过以下方式获取它们:Sys.getenv('PASSWORD_X')
我在 deployApp
中找不到任何相关信息rsconnect
中的函数包裹。
最佳答案
您可以使用 Renviron.site 或 .Renviron 将私有(private)数据存储和访问到您 Shiny 的应用程序中。 (see here for Hadley Wickham's recommendations and instructions - ref example below)。
解决方案:
存储 API 身份验证 key / token (Attribution: Hadley Wickham)
如果您的包支持基于 API key 或 token 的身份验证工作流程,请鼓励用户将其存储在环境变量中。我们使用包装了 Github v3 API 的 github R 包来说明这一点。根据您的 API + 包定制此模板,并包含在 README.md 或小插图中。
您的 GitHub 个人设置。将 token 复制到剪贴板。
安慰。
文本文件。
GITHUB_PAT=blahblahblahblahblahblah
名称
GITHUB_PAT
提醒您这是针对哪个 API 和 blahblahblahblahblahblah
是您的个人访问 token ,从剪贴板粘贴。是的,您确实想使用以点开头的文件名 ..
library(github)
ctx <- create.github.context(access_token = Sys.getenv("GITHUB_PAT"))
# ... proceed to use other package functions to open issues, etc.
常见问题解答:为什么通过 .Renviron 而不是在 .bash_profile 或 .bashrc 中定义此环境变量?
因为有许多操作系统和运行 R 的方式的组合,其中 .Renviron 方法“正常工作”而 bash 的东西没有。当 R 是 Emacs 或 RStudio 的子进程时,您不能总是指望将环境变量传递给 R。将它们放在特定于 R 的启动文件中,这样可以省去一些麻烦。
关于r - 如何将环境变量传递给 Shinyapps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39084284/