2012-04-26 30 views
6

Sto tentando di utilizzare gli account dei servizi Google per accedere alla tabella Fusion dalla mia app Java AppENgine. Questo frammento di codice viene utilizzato per ottenere OAuth token di accesso:Tabella Fusion e account di servizio Google

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(); 

sono stato in grado di ottenere con successo token di accesso, ma quando sto provando ad eseguire Crea query TABLE ho ottenuto:

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

fare account di servizio funziona con Fusion Tables?

+0

Ho lo stesso scenario e quindi, problema ... mi piacerebbe sapere se hai trovato una soluzione. Se lo farò prima, ti farò sapere la mia soluzione :) – AlejandroVK

+0

Non ancora. Infine, desideriamo utilizzare BigQuery e l'interfaccia utente personalizzata. –

+0

Buono a sapersi, sono riuscito a utilizzare Fusion Tables, nonostante abbia molte limitazioni riguardanti nº di richieste, celle, ecc, che lo rendono difficile da usare per le app Big Data. Tuttavia, è fantastico per creare mashup – AlejandroVK

risposta

1

Io non sono terribilmente familiarità con Fusion Tables, ma è probabile che avete bisogno di uno:

1) Concedere l'autorizzazione per l'account di servizio (il "indirizzo email" si trova nella console di amministrazione) per accedere al tavolo. Ciò probabilmente si verificherà tramite L'esempio su https://developers.google.com/appengine/articles/prediction_service_accounts potrebbe essere utile come punto di partenza per questo processo.

2) Accedere a un utente che ha accesso alla tabella (o ai cui dati si sta tentando di accedere) e autorizzarne l'accesso per l'applicazione utilizzando il flusso OAuth a tre vie. Se stai accedendo a dati di proprietà di un utente finale (es: [email protected]), probabilmente avrai bisogno di farlo.

Spero che questo aiuti.

+1

Secondo non è un'opzione, perché abbiamo bisogno che l'applicazione stessa possegga i dati. Prima non funzionerà, perché apllication non può creare una nuova tabella con l'account di servizio, quindi non abbiamo una tabella per concedere l'accesso a. –

Problemi correlati