5

Ich benutze das Google Visualization JavaScript API, um ein Diagramm aus Google Tabellen zu laden und es in einem div anzuzeigen. Meine App wird auf Google App Engine gehostet. Ich gebe die URL zum Blatt mit dem Parameter gid=1 an, um das zweite Blatt anzugeben, aber das Diagramm, das angezeigt wird, ist das erste Blatt. Hier ist mein vereinfachte Code (es ist im Grunde der Beispielcode in der Dokumentation):Google-Visualisierungs-API, das GID oder Blatt-Parameter nicht berücksichtigt

// sheetUrl is the URL of the Google sheet, e.g., http://https://docs.google.com/a/google.com/spreadsheet/ccc?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE#gid=1 
// divId is the id of the <div> element I'm displaying in 

google.load('visualization', '1.0', {packages: ['table']}); 
google.setOnLoadCallback(drawChart); 

function drawChart() { 
    var query = new google.visualization.Query(sheetUrl); 
    query.send(handleQueryResponse); 
} 

function handleQueryResponse(response) { 

    var data = response.getDataTable(); 
    var table = new google.visualization.Table(document.getElementById(divId)); 
    table.draw(data); 
} 

Sie die #gid=1 in der URL zu sehen. Ich habe auch versucht &gid=1 und &sheet='Volume', die der Name der Registerkarte ist, aber wenn die Seite geladen wird, werden die Daten von der ersten Registerkarte gerendert.

Ich habe Google Blatt Urls in Form bemerkte ich oben, aber auch in dieser Form haben:

https://docs.google.com/spreadsheet/tq?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE 

Ich habe nicht in der Lage gewesen, eine Dokumentation ausdrücklich tq Endpunkt erklären zu finden. Ich habe versucht, eine URL in diesem Formular zu verwenden, aber ich bekomme einen Timeout-Fehler, wenn ich versuche, das Diagramm zu laden. Hat jemand in dieses Problem hineingeraten oder Einsicht in das tq-Ding? Vielen Dank!

bearbeitet 2014.02.17:

Ich habe meine URL geändert, um den TQ-Endpunkt zu verwenden, und ich habe die folgenden Parameter versucht:

#gid=1 
&gid=1 
#sheet=Volume 
&sheet=Volume 

Wenn ich für die URL abfragen im Browser:

https://docs.google.com/spreadsheet/tq?key=0AobNU9T3MusKdGFqRHNJYkFnb3RuSkt4QlE&sheet=Volume 

ich das entsprechende Blatt zurück. Aber wenn ich die Visualisierungs-API zur Abfrage verwende, bekomme ich das erste Blatt.

Antwort

6

Die korrekte URL zur Visualization API zu übergeben, die mit den neuen Google Tabellen ist dieses Format arbeiten:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq 

Sie verwenden, um die gid Abfrage-Parameter übergeben Sie die ID des Arbeitsblatt, das Sie abrufen möchten . Also, wenn Ihre gid 0, wäre die URL:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?gid=0 

Sie zusätzliche Informationen über URL-Formate für die alten und die neuen Google-Sheets in this bug report finden.

Hoffe, dass hilft.

5

Referenzierung von Blattnamen arbeitet auch als in

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?sheet=MySheetName 

Stellen Sie sicher, Kalkulationstabelle ist "neu" vs "alten" Google Sheets. Ich knallte meinen Kopf darauf, weil ich dachte, mein Laken sei neu. Sobald ich ein neues Stylesheet erstellt und die Donnapep-Antwort verwendet hatte, arbeitete ich wieder. Ich habe dann bestätigt, dass auch "sheet = sheetname" funktioniert, was ich eigentlich wollte.

Verwandte Themen