2015-10-16 5 views
5

Ich verwende R und package bigrquery, um von einer R-Sitzung auf BigQuery zuzugreifen. Das funktioniert gut, solange ich auf meinem lokalen Rechner bin. Wenn ich jedoch versuche, von R auf einem Remote-Server auf BigQuery zuzugreifen, funktioniert es überhaupt nicht.Berechtigung für den Zugriff auf BigQuery über R-Sitzung auf Server

Ich habe versucht, die HTTR-OAUTH-Datei in mein Home-Verzeichnis auf dem Server kopieren, aber das funktioniert nicht. Ich bekomme die Fehlermeldung:

Auto-Aktualisierung veraltete OAuth-Token. Fehler in refresh_oauth2.0 (Selbst $ Endpunkt, Selbst $ app, selbst $ Credentials): Client-Fehler: (400) Bad Request

Ich habe wirklich keine Ahnung, wo man die notwendigen Anmeldeinformationen zu speichern und leider war ich nicht in der Lage, etwas nützliches über Google durch das Thema zu finden.

Antwort

8

Standardmäßig wird httr, das von bigrquery für oauth verwendet wird, look in the R session's current working directory für .httr-oauth. Sie können diesen Speicherort überschreiben mit den folgenden (vielleicht ist es in Ihrem .Rprofile setzen, wenn Sie mögen):

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

Aber für die Fehlermeldung, die Sie erhalten haben, scheint seine wie die Lage ist nicht das Problem, und es könnte leichter sein, Wiederholen Sie den OAUTH-Fluss auf dem Remote-Server, um einen neuen Berechtigungsnachweis zwischenzuspeichern. Zum Auslösen eines neuen oauth Fluss auf dem Remote-Server:

  1. sorgen für die .httr-oauth Datei nicht
  2. Neustart R
  3. führen Sie eine Abfrage existiert mit bigrquery

Beachten Sie, dass, wenn HTTR versucht, zu localhost umzuleiten, können Sie es zwingen, einen Out-of-Band oauth Fluss mit zu tun:

Verwandte Themen