【问题标题】:How to get the current URL for Shiny App?如何获取 Shiny App 的当前 URL?
【发布时间】:2021-01-14 07:19:42
【问题描述】:
当我在 RStudio 上运行闪亮的应用程序时,我的应用程序运行并且 URL 如下所示:
Listening on http://127.0.0.1:4991
但是每次我再次运行应用程序时,端口都会改变,我想知道是否有办法将 url 作为变量或类似的东西获取。我的意思是,每次运行应用程序时,我都想获取 URL 并将其保存在变量中。
谢谢
【问题讨论】:
标签:
r
shiny
shiny-server
shinyapps
【解决方案1】:
您可以使用选项指定端口:
#example: https://shiny.rstudio.com/articles/basics.html
options(shiny.host = '0.0.0.0')
options(shiny.port = 8888)
ui <- fluidPage(
# App title ----
titlePanel("Hello Shiny!"),
# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Slider for the number of bins ----
sliderInput(inputId = "bins",
label = "Number of bins:",
min = 1,
max = 50,
value = 30)
),
# Main panel for displaying outputs ----
mainPanel(
# Output: Histogram ----
plotOutput(outputId = "distPlot")
)
)
)
# Define server logic required to draw a histogram ----
server <- function(input, output) {
# Histogram of the Old Faithful Geyser Data ----
# with requested number of bins
# This expression that generates a histogram is wrapped in a call
# to renderPlot to indicate that:
#
# 1. It is "reactive" and therefore should be automatically
# re-executed when inputs (input$bins) change
# 2. Its output type is a plot
output$distPlot <- renderPlot({
x <- faithful$waiting
bins <- seq(min(x), max(x), length.out = input$bins + 1)
hist(x, breaks = bins, col = "#75AADB", border = "white",
xlab = "Waiting time to next eruption (in mins)",
main = "Histogram of waiting times")
})
}
shinyApp(ui, server)
【解决方案2】:
您可以通过session$clientData获取网址:
library(shiny)
ui <- basicPage()
server <- function(input, output, session){
observe({
print(reactiveValuesToList(session$clientData))
})
}
shinyApp(ui, server)