2015-10-16 3 views
5

Sto usando R e pacchetto bigrquery per accedere a BigQuery da una sessione R. Funziona benissimo fintanto che sono sulla mia macchina locale. Tuttavia, quando provo ad accedere a Bigquery da R su un server remoto, non funziona affatto.Autorizzazione per l'accesso a BigQuery dalla sessione R sul server

Ho provato a copiare il file .httr-oauth nella mia directory home sul server, ma questo non funziona. Viene visualizzato il messaggio di errore:

Token OAuth stantio con aggiornamento automatico. Errore in refresh_oauth2.0 (auto $ endpoint, auto $ app, auto $ credenziali): Errore di client: (400) Bad Request

ho davvero idea di dove memorizzare le credenziali necessarie e purtroppo non ero in grado di trovare qualcosa di utile in merito alla ricerca su google dell'argomento.

risposta

8

Per impostazione predefinita, httr, che è utilizzato da bigrquery per oauth, sarà look in the R session's current working directory per .httr-oauth. È possibile ignorare questa posizione con la seguente (forse mettendolo nella vostra .Rprofile se volete):

options("httr_oauth_cache"="~/.httr-oauth") 

Ma per il messaggio di errore ricevuto, la sua sembra che la posizione non è il problema e potrebbe essere più facile da basta ripetere il flusso di oauth sul server remoto per memorizzare una nuova credenziale nella cache. Per attivare un nuovo flusso OAuth sul server remoto:

  1. garantire il file .httr-OAuth non esiste
  2. riavvio R
  3. eseguire una query con bigrquery

Nota che se HTTR prova a reindirizzare a localhost, puoi forzarlo a fare un flusso oauth out-of-band con:

options(httr_oob_default = TRUE)