Я пытаюсь настроить блестящее приложение, которое может загружать HTML-графики из пакета googleViz. Код работает на моей машине, но когда я перемещаю его на сервер, я получаю следующее сообщение при тестировании загрузки ...
"Запрошенный URL был отклонен. Обратитесь к администратору."
Я изо всех сил пытаюсь выяснить, что нужно сделать ИТ-персоналу, который настраивал сервер, чтобы решить проблему - я ничего не знаю о серверах, а они ничего не знают о R.
Я создал небольшое примерное приложение здесь , чтобы продемонстрировать проблему, основываясь на следующем ui.R
library(shiny)
library(googleVis)
# user interface
shinyUI(pageWithSidebar(
headerPanel("googleVis on Shiny"),
sidebarPanel(
selectInput("dataset", label = "Choose a dataset:",
choices = c("rock", "pressure", "cars")),
downloadButton('download_gvis', label = 'Download')
),
mainPanel(
htmlOutput("view")
)
))
и server.R
library(googleVis)
library(webshot)
shinyServer(function(input, output) {
# data set from user
datasetInput <- reactive({
switch(input$dataset,
"rock" = rock,
"pressure" = pressure,
"cars" = cars)
})
# plot of data set from user
my_plot <- reactive({
gvisScatterChart(datasetInput(),
options=list(title=paste('Data:',input$dataset)))
})
# render plot of data set from user
output$view <- renderGvis({
my_plot()
})
# download plot of data set from user
output$download_gvis <- downloadHandler(
filename = "test.png",
content = function(file) {
g <- my_plot()
# print to html file
print(g, file = "gg.html")
# take a webshot of html file and save as png
webshot(
url = "gg.html",
file = "output.png",
delay = 2
)
# send output file to downloadHandler
file.copy("output.png", file)
# delete files
file.remove("gg.html")
file.remove("output.png")
}
)
})
Я думаю, что код скрипта на print(g, file = "gg.html")
в сценарии сервера. Файл gg.html
никогда не появляется в каталоге сервера (на моем локальном компьютере я вижу его в представлении каталога RStudio).