Rstudio Server имеет проблемы с развертыванием приложения - PullRequest
0 голосов
/ 05 мая 2019

У меня есть код r, и у меня возникают проблемы с автоматической аутентификацией для доступа к электронным таблицам на блестящей панели инструментов.

Я настроил серверы на виртуальной машине и смог заставить работать сервер r-studio и блестящий сервер. Проблема сейчас заключается в развертывании приложения. В настоящее время я смог сделать это в сеансе пользователя. Но проблема не в том, что меня перенаправляют на аутентификацию Google, и это не позволяет мне делать это на стороне сервера, поэтому выполнение останавливается.

 This is shared with all googleAnalyticsR users. 
 If making a lot of API calls, please: 
 visit: XXXXXXXXXXXXX
 for instructions on setting your own Google Project 
2019-05-05 02:55:52> Set API cache
2019-05-05 02:55:52> No environment argument found, looked in 
GA_AUTH_FILE
2019-05-05 02:55:52> No httr_oauth_cache file found at sc.httr- 
oauth - creating new file.
Error in value[[3L]](cond) : 
  Authentication options didn't match existing session token and 
not interactive session
           so unable to manually reauthenticate
 Calls: local ... tryCatch -> tryCatchList -> tryCatchOne -> 
<Anonymous>
Execution halted

Ожидаемые результаты не будут отображать выполнение приостановлено. Кроме того, на самом сервере это не позволяет мне фактически разрешать такие расширения. Поэтому мне любопытно, есть ли у кого-нибудь предложения. Я также могу предложить код, если это необходимо для фактического приложения. Р.

1 Ответ

0 голосов
/ 19 мая 2019

Вам необходимо загрузить токен аутентификации sc.httr-oauth (или как вы его называли), который генерируется локально, в рабочий каталог скрипта на сервере, чтобы аутентификация могла его найти.Вы также должны убедиться, что разрешения для файла позволяют Shiny обновить его.

Вы видите ошибку, когда он ищет файл, но его нет, затем он пытается выполнить повторную аутентификацию, запустив браузер, но, поскольку он не является интерактивным сеансом R, произойдет сбой (вы не можетевойти в систему для потока OAuth2)

Вы можете указать местоположение токена аутентификации в вашем скрипте через ga_auth("file_location")

...