2012-11-07 7 views
5

Ich bin schrecklich verwirrt darüber, wie man einen Javascript-Client (Nicht-Gadget) in ein privates Google Spreadsheet mit unterstützten APIs schreibt? Ich habe keine Probleme damit, einen OAuth2 Drive API Client zu bekommen, aber dann gibt es keine Tabellenkalkulation!Wie lesen/schreiben Google Tabellen von Javascript mit unterstützten APIs?

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

Dieses Problem fragt plump für die Tabelle API auf dieser Seite angezeigt werden:

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

ich wahrscheinlich etwas offensichtlich, fehlt bin so vielen Dank für Ihre Freundlichkeit, mir zu helfen ..

Update:.

Wow, das ist mein Hintern! Also, ich werde auf den Weg des Versuchs, die access_token vom OAuth2 Workflow zu übernehmen und dann die gdata API Authorization-Header wie folgt:

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

Leider Chromkonsole zeigt, dass dieser Header nicht tatsächlich gesendet zu werden google wenn ich sowas mache wie

service.getFeed(url, cb, eb); 

Uffff!

Antwort

3

Um Informationen aus Google Spreadsheets zu erhalten, senden Sie einfach eine GET-Anfrage an den entsprechenden Link mit dem angehängten Zugriffstoken. Die urlLocation wird gefunden, indem Sie zu Google Drive gehen und die lange Folge von Ziffern und Buchstaben in der URL nach dem Wort "key =" kopieren.

Auch ich habe in diesem Beispiel jQuery verwendet.

Code:

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

Um eine JSON-Darstellung zu erhalten, verwenden Sie stattdessen:

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); 
}); 
Verwandte Themen