2012-11-07 16 views
5

Sono terribilmente confuso su come scrivere un client javascript (non gadget) su un foglio di lavoro Google privato utilizzando le API supportate? Non ho difficoltà a far funzionare un client API di OAuth2 Drive, ma non c'è supporto per il foglio di calcolo!Come leggere/scrivere fogli di lavoro google da javascript con le API supportate?

https://developers.google.com/apis-explorer

Questo problema richiede crudamente per l'API foglio di calcolo ad apparire su quella pagina:

http://code.google.com/p/google-api-javascript-client/issues/detail?id=37

sto probabilmente manca qualcosa di ovvio, quindi grazie per la vostra gentilezza per aiutare me .. .

Aggiornamento:

Wow, questo mi sta facendo impazzire! Così, sto andando giù per il sentiero di tentare di prendere l'access_token dal flusso di lavoro OAuth2 e quindi impostare l'intestazione di autorizzazione GData API in questo modo:

service = new google.gdata.client.GoogleService('testapp'); 
service.setHeaders({'Authorization': 'Bearer '+ access_token}); 

Purtroppo, console Chrome mostra che questa intestazione non è in realtà sempre inviato a google quando faccio qualcosa come

service.getFeed(url, cb, eb); 

Uffff!

risposta

3

Per ottenere informazioni da Google Spreadsheets, è sufficiente inviare una richiesta GET al relativo collegamento con il token di accesso allegato. L'urlLocation viene trovata andando su Google Drive e copiando la lunga stringa di cifre e lettere nell'URL dopo la parola "chiave =".

Anche io ho usato jQuery in questo esempio.

Codice:

var urlLocation = ''; //Put the Spreadsheet location here 
var url = 'https://spreadsheets.google.com/feeds/list/' + urlLocation + '/od6/private/full?access_token=' + token; 
$.get(url, function(data) { 
    console.log(data); 
}); 

Al fine di ottenere una rappresentazione JSON, usare questo invece:

var urlLocation = ''; //Same as above 
var url = 'https://spreadsheets.google.com/feeds/list/' + urlLocation + '/od6/private/full?alt=json-in-script&access_token=' + token + '&callback=?'; 
$.getJSON(url, function(data) { 
    console.log(data); 
}); 
Problemi correlati