shinyapps.io: данные из API (read_lines ()) - PullRequest
0 голосов
/ 02 февраля 2019

Я новичок в сиянии.Мой первый проект - создать приложение, которое отображает оценки 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 Ответ

0 голосов
/ 04 февраля 2019

Я также разместил этот вопрос в сообществе RStudio.shinyapps.io размещен на AWS, и похоже, что статистика NBA блокирует запросы от AWS.Смотрите здесь: https://community.rstudio.com/t/shinyapps-io-data-from-api-read-lines/22936/2

...