shinyapps.io:数据来自 API (read_lines())
shinyapps.io: data from API (read_lines())
我是 shiny 的新手。我的第一个项目是构建一个显示用户选定日期的 NBA 得分的应用程序。当我 运行 它在本地机器上时它工作得很好但是当我部署到 shinyapps.io.
时它不工作
到目前为止,我调试了它,发现它不起作用。显然该应用程序不会从 NBA API.
读取数据
这是我正在做的代码示例:
library(shiny)
library(tidyverse)
library(lubridate)
library(glue)
ui <- fluidPage(
# Application title
titlePanel("Get NBA Scores"),
# Select date
sidebarLayout(
sidebarPanel(
dateInput(inputId = "date",
label = "Select Date")
),
mainPanel(
textOutput("boxscores")
)
)
)
server <- function(input, output) {
date <- reactiveValues()
url <- reactiveValues()
nba <- reactiveValues()
# add leading zero to day
observe(date$day <- ifelse(nchar(day(as.character(input$date))) == 1, paste0("0", day(as.character(input$date))), day(as.character(input$date))))
# add leading zero to month
observe(date$month <- ifelse(nchar(month(as.character(input$date))) == 1, paste0("0", month(as.character(input$date))), month(as.character(input$date))))
# extract year
observe(date$year <- year(as.character(input$date)))
# create url
observe(url$url1 <- glue("http://stats.nba.com/stats/scoreboard/?GameDate={date$month}/{date$day}/{date$year}&LeagueID=00&DayOffset=0"))
#import data
observe(nba$nba <- read_lines(url$url1))
output$boxscores <- renderText({
#plot raw data
nba$nba
})
}
# Run the application
shinyApp(ui = ui, server = server)
当我只想显示 url 使用
output$boxscores <- renderText({
#plot url
url$url1
})
它工作正常。但是当我想获取外部数据时,它没有显示任何内容(甚至没有错误)。
我是不是做错了什么?或者无法读取 shinyapps.io 上的外部数据?
感谢您的帮助。
我也在 RStudio 社区发布了这个问题。 shinyapps.io 托管在 AWS 上,NBA 统计数据似乎阻止了来自 AWS 的请求。看这里:https://community.rstudio.com/t/shinyapps-io-data-from-api-read-lines/22936/2
我是 shiny 的新手。我的第一个项目是构建一个显示用户选定日期的 NBA 得分的应用程序。当我 运行 它在本地机器上时它工作得很好但是当我部署到 shinyapps.io.
时它不工作到目前为止,我调试了它,发现它不起作用。显然该应用程序不会从 NBA API.
读取数据这是我正在做的代码示例:
library(shiny)
library(tidyverse)
library(lubridate)
library(glue)
ui <- fluidPage(
# Application title
titlePanel("Get NBA Scores"),
# Select date
sidebarLayout(
sidebarPanel(
dateInput(inputId = "date",
label = "Select Date")
),
mainPanel(
textOutput("boxscores")
)
)
)
server <- function(input, output) {
date <- reactiveValues()
url <- reactiveValues()
nba <- reactiveValues()
# add leading zero to day
observe(date$day <- ifelse(nchar(day(as.character(input$date))) == 1, paste0("0", day(as.character(input$date))), day(as.character(input$date))))
# add leading zero to month
observe(date$month <- ifelse(nchar(month(as.character(input$date))) == 1, paste0("0", month(as.character(input$date))), month(as.character(input$date))))
# extract year
observe(date$year <- year(as.character(input$date)))
# create url
observe(url$url1 <- glue("http://stats.nba.com/stats/scoreboard/?GameDate={date$month}/{date$day}/{date$year}&LeagueID=00&DayOffset=0"))
#import data
observe(nba$nba <- read_lines(url$url1))
output$boxscores <- renderText({
#plot raw data
nba$nba
})
}
# Run the application
shinyApp(ui = ui, server = server)
当我只想显示 url 使用
output$boxscores <- renderText({
#plot url
url$url1
})
它工作正常。但是当我想获取外部数据时,它没有显示任何内容(甚至没有错误)。
我是不是做错了什么?或者无法读取 shinyapps.io 上的外部数据?
感谢您的帮助。
我也在 RStudio 社区发布了这个问题。 shinyapps.io 托管在 AWS 上,NBA 统计数据似乎阻止了来自 AWS 的请求。看这里:https://community.rstudio.com/t/shinyapps-io-data-from-api-read-lines/22936/2