ShinyApp — аутентификация Dropbox с помощью rdrop2

Я сохранил файлы в своем дропбоксе, и я получаю к ним доступ через rdrop2 в блестящем приложении, размещенном на shiningapps.io. Следующий код отлично работает на моем ноутбуке, но прерывается, когда я развертываю свое приложение на ShinyApp.io и зависает на непрозрачном экране. Любые подсказки о том, почему и как устранить неполадки? Огромное спасибо! - Стефан

Вот код, который я использую (из https://github.com/karthik/rdrop2). ):

  token<-drop_auth()
  saveRDS(token, "droptoken.rds")
  token <- readRDS("droptoken.rds")
  ZIPFile<-drop_read_csv(as.character(ZIPCode),sep="",dtoken=token)

И журнал ShinyApp:

2015-10-16T17:55:46.965850+00:00 shiningapps[64206]: Предупреждение: необработанная ошибка в наблюдателе: oauth_listener() требуется интерактивная среда.
2015-10-16T17:55 :46.965853+00:00 блестящие приложения[64206]: наблюдать({
2015-10-16T17:55:46.965854+00:00 блестящие приложения[64206]: если (ввод $Recalc ‹ 1)
2015-10- 16T17:55:46.965856+00:00 блестящие приложения[64206]: return()
2015-10-16T17:55:46.965857+00:00 блестящие приложения[64206]: ZIPCode ‹- isolate(input$NewZIP)
2015-10-16T17:55:46.965858+00:00 блестящие приложения[64206]: токен ‹- drop_auth()
2015-10-16T17:55:46.965859+00:00 блестящие приложения[64206]: saveRDS(токен, " droptoken.rds")
2015-10-16T17:55:46.965861+00:00 shiningapps[64206]: токен ‹- readRDS("droptoken.rds")
2015-10-16T17:55:46.965862+ 00:00 блестящие приложения[64206]: ZIPFile ‹- drop_read_csv(as.character(ZIPCode), sep = "",
2015-10-16T17:55:46.965863+00:00 блестящие приложения[64206]: dtoken = токен)


person Stephane Santos    schedule 16.10.2015    source источник


Ответы (1)


Проблема решена: по-новому взглянул на инструкции, предоставленные rdrop2:

  1. Две первые строки кода должны выполняться локально и только один раз:

    token<-drop_auth() saveRDS(token, "droptoken.rds")

  2. Файл droptoken.rds должен храниться в той же структуре папок, что и та, в которой разрабатывается приложение.

  3. Две последние строки кода должны быть сохранены в приложении:

    token<-drop_auth() saveRDS(token, "droptoken.rds")

Таким образом, когда вы развертываете свое приложение на сервере, вы также развертываете с ним токен. Создает некоторые проблемы с безопасностью, но мне нужно дождаться хорошего набора инструкций для oauth с dropbox под r.

person Stephane Santos    schedule 17.10.2015