shinyapps.io: данные из API (read_lines())
Я новичок в блестящей. Мой первый проект - создать приложение, которое отображает оценки NBA для выбранной пользователем даты. Он отлично работает, когда я запускаю его на локальной машине, но не работает, когда я развертываю на shinyapps.io.
Я отладил его так далеко, что нашел то, что не работает. Видимо, приложение не читает данные из API NBA.
Вот пример кода того, что я делаю:
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?
Спасибо за вашу помощь.
1 ответ
Я также разместил этот вопрос в сообществе RStudio. shinyapps.io размещен на AWS, и похоже, что статистика NBA блокирует запросы от AWS. Смотрите здесь: https://community.rstudio.com/t/shinyapps-io-data-from-api-read-lines/22936/2