首页 > 解决方案 > 在 R 闪亮服务器上发布应用程序会导致未经授权的 401 错误

问题描述

我是 R Shiny 的新手,正在尝试发布到 RStudio Connect。该应用程序已部署并在本地服务器上正常运行,但无法发布并出现错误。

Error in value[[3L]](cond) : Unauthorized (HTTP 401)

我已经尝试过会话信息来检查我的包在本地和服务器上是否相同。这是输出:

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin18.6.0 (64-bit)
Running under: macOS Mojave 10.14.3

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /usr/local/Cellar/openblas/0.3.7/lib/libopenblasp-r0.3.7.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shinyEventLogger_0.1.1 shinycssloaders_0.2.0  shinydashboard_0.7.1   data.table_1.12.2     
[5] dplyr_0.8.3            httr_1.4.1             rjson_0.2.20           shiny_1.3.2           

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.2        pillar_1.4.2      compiler_3.6.1    later_0.8.0       bupaR_0.4.2       plyr_1.8.4       
 [7] R.methodsS3_1.7.1 forcats_0.4.0     R.utils_2.9.0     tools_3.6.1       packrat_0.5.0     zeallot_0.1.0    
[13] digest_0.6.20     jsonlite_1.6      lifecycle_0.1.0   tibble_2.1.3      pkgconfig_2.0.2   rlang_0.4.0      
[19] rstudioapi_0.10   crosstalk_1.0.0   yaml_2.2.0        curl_4.0          stringr_1.4.0     askpass_1.1      
[25] htmlwidgets_1.3   vctrs_0.2.0       DT_0.8            tidyselect_0.2.5  mongolite_2.1.0   glue_1.3.1       
[31] R6_2.4.0          eventdataR_0.2.0  purrr_0.3.2       tidyr_1.0.0       magrittr_1.5      backports_1.1.4  
[37] promises_1.0.1    htmltools_0.3.6   rsconnect_0.8.15  assertthat_0.2.1  mime_0.7          xtable_1.8-4     
[43] httpuv_1.5.1      stringi_1.4.3     miniUI_0.1.1.1    openssl_1.4.1     crayon_1.3.4      R.oo_1.22.0  

可能引发错误的代码部分是

write.csv(id_from_database, file = paste0("output_files/",input$current_protocols,"_",Sys.Date(),".csv",sep=""),row.names = FALSE, quote = TRUE)
            withProgress(message = 'Data is being sent, this may take a while',
                         detail = 'This may take a while...', value = 0, {
                           for (i in 1:30) {
                             incProgress(1/30)
                             Sys.sleep(0.35)
                           }})
            message = response_from_post()

上面的部分将从数据库接收到的 id 写入闪亮应用程序中存在的子文件夹。当您在本地运行时,您的应用程序中是否有警告也很重要?他们会在发布时抛出错误吗?

标签: rshinyshinydashboardshiny-servershinyapps

解决方案


推荐阅读