Frage an google-app-engine, google-fusion-tables – Fusion Table- und Google Service-Konten

6

Ich versuche, Google-Dienstkonten zu verwenden, um von meiner AppENgine Java-App aus auf Fusion-Tabelle zuzugreifen. Dieses Code-Snippet wird verwendet, um das OAuth-Zugriffstoken abzurufen:

<code> ArrayList<String> scopes = new ArrayList<String>();
 scopes.add("https://www.googleapis.com/auth/fusiontables");
 DataAccessService fusionTablesService = EnvironmentServic.getEnvironmentService().getService(DataAccessService.class);
 String token = AppIdentityServiceFactory.getAppIdentityService().getAccessToken(scopes).getAccessToken();
</code>

Ich konnte erfolgreich Zugriffstoken erhalten, aber beim Ausführen der Abfrage CREATE TABLE wurde Folgendes angezeigt:

<code>   <HTML>
    <HEAD>
     <TITLE>Login required</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
     <H1>Login required</H1>
     <H2>Error 401</H2>
    </BODY>
   </HTML>
</code>

Funktioniert das Dienstkonto mit Fusion Tables?

Noch nicht wirklich. Schließlich möchten wir BigQuery und eine benutzerdefinierte Benutzeroberfläche verwenden. Kirill Lebedev
Ich habe das gleiche Szenario und somit ein Problem ... würde gerne wissen, ob Sie eine Lösung gefunden haben. Wenn ich es früher tue, werde ich dich über meine Lösung informieren :) AlejandroVK
Es hat sich für mich herausgestellt, dass ich den falschen "Bereich" verwendet habe (ich habe den sqlservice aus dem OAuth-Tutorial kopiert ...) scipilot
3 Jahre später habe ich genau das gleiche Problem mit FT v2 getroffen. Hat jemand es gelöst? scipilot
Gut zu wissen, dass ich es geschafft habe, Fusion Tables zu verwenden, obwohl es in Bezug auf die Anzahl der Anforderungen, Zellen usw. viele Einschränkungen gibt, die die Verwendung für Big Data-Apps erschweren. Trotzdem eignet es sich hervorragend zum Erstellen von Mashups AlejandroVK

Deine Antwort

1   die antwort
1

aber wahrscheinlich müssen Sie auch:

1) Erteilen Sie dem Dienstkonto die Berechtigung (die "E-Mail-Adresse" befindet sich in der Administratorkonsole), auf die Tabelle zuzugreifen. Dies würde wahrscheinlich durch die Probe bei passierenhttps://developers.google.com/appengine/articles/prediction_service_accounts kann als Ausgangspunkt für diesen Prozess hilfreich sein.

2) Melden Sie einen Benutzer an, der Zugriff auf die Tabelle hat (oder auf dessen Daten Sie zugreifen möchten), und lassen Sie ihn den Zugriff für die Anwendung mithilfe des dreibeinigen OAuth-Flows autorisieren. Wenn Sie auf Daten zugreifen, deren Eigentümer ein Endbenutzer ist (z. B. [email protected]), müssen Sie dies wahrscheinlich tun.

Hoffe das hilft.

Zweitens ist keine Option, da wir brauchen, dass die Anwendung selbst die Daten besitzt. Erstens wird es auch nicht funktionieren, da eine Anwendung keine neue Tabelle mit einem Dienstkonto erstellen kann, sodass wir keine Tabelle haben, auf die wir Zugriff gewähren können. Kirill Lebedev

Verwandte Fragen