2015-10-16 9 views
5

Używam R i pakiet Bigrquery, aby uzyskać dostęp do BigQuery z sesji R. Działa to świetnie, dopóki jestem na mojej lokalnej maszynie. Jednak, gdy próbuję uzyskać dostęp do BigQuery z R na zdalnym serwerze, to w ogóle nie działa.Autoryzacja dostępu do BigQuery z sesji R na serwerze

Próbowałem skopiować plik .httr-oauth do mojego katalogu domowego na serwerze, ale to nie działa. Otrzymuję komunikat o błędzie:

Automatyczne odświeżanie nieaktualnego tokenu OAuth. Błąd w refresh_oauth2.0 (self $ końcowym, self $ app, self $ poświadczenia): błąd klienta: (400) Bad Request

ja naprawdę nie mają pojęcia o tym, gdzie do przechowywania niezbędnych poświadczeń i niestety nie było w stanie znaleźć cokolwiek przydatnego w tym temacie, przeszukując go w google.

Odpowiedz

8

Domyślnie httr, który jest używany przez bigrquery dla oauth, będzie look in the R session's current working directory dla .httr-oauth. Można zastąpić tę lokalizację z następujących powodów (być może umieszczenie go w swojej .Rprofile jeśli chcesz):

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

Ale komunikacie o błędzie, jego wydaje się, że lokalizacja nie jest problem i to może być łatwiej po prostu ponów przepływ oauth na serwerze zdalnym, aby buforować nowe poświadczenia. Aby wywołać nowy przepływ OAuth na zdalnym serwerze:

  1. zapewnienia plik .httr-OAuth nie istnieje
  2. restart R
  3. wykonać jedną frazę bigrquery

pamiętać, że jeśli httr próbuje przekierować do localhost, możesz zmusić go do wykonania pozapasmowego przepływu okienka z:

options(httr_oob_default = TRUE) 
Powiązane problemy