Neue Version von Google Spreadsheets als JSONP

Dieser Beitrag ist auch verfügbar in: Englisch Vereinfachtes Chinesisch Russisch Spanisch Portugiesisch, Portugal Französisch Arabisch Japanisch

< Warnung >
Ich empfehle Ihnen, zusätzliche Google-Konto nur für die Öffentlichkeit. Denn wenn Sie mein Verfahren zu folgen, wird Ihr Google Mail-Adresse auf öffentlichen JSONP Datei sein.

< Google Spreadsheets >
Alte Version von Google Spreadsheets können Tabellen als XML, JSON und eine Art von Format zu teilen. Ich dachte, neue Version nicht über eine solche Sharing-Funktionen. Aber ich fand das gute Lösung für die neue Version von Google Spreadsheets auf der Antwort auf die Frage auf Stackoverflow.
Unable to publish specific cells in new Google Spreadsheets – StackOverflow ( Englisch )
Laut der Seite oben, ist dies eine Art von API alte API. Niemand ist sicher, wenn es nicht mehr. Ist mir egal, diese Situation. Aber wenn man nicht, wie die Situation nicht, weiß ich nicht empfehlen Ihnen, dieses API verwenden.

< URL-Format >

https://spreadsheets.google.com/feeds/cells/[ Ihr Tabellenkalkulationsschlüssel ]/od6/public/values?min-row=[ starten Zeilennummer ]&max-row=[ Ende Zeilennummer ]&min-col=[ starten Spaltennummer ]&max-col=[ Ende Spaltennummer ]&alt=json-in-script&callback=[ Callback-Funktion Namen ]

< Wie benutzt man es? >
JSONP Format ist einfach, in JavaScript zu verwenden. Niemand braucht Parser. Aber ich möchte URL-Generator verwenden die API noch nützlicher zu machen. Also entwickelte ich ein Skript, das von Paging-Parameter, um URL-Parameter wandelt folgenden Google-Syntax.

< jQuery-Plugin >
Ich entwickelte dieses jQuery-Plugin namens „generateGoogleJsonpUri“.
generateGoogleJsonpUri – github
Ich habe Beispielseite wie ein Blog Rahmen, um mein Plugin zu testen.
https://mecrazy.net/sample/generateGoogleJsonpUri/
Wenn Sie möchten, kopieren Sie bitte die Quelle als Beispiel.

< Verwendung – Gießerei >
Casting Syntax ist

var test = $.genJsonpGDU("<Your-Tabellenkalkulation-key-hier>");

oder

var test = $.genJsonpGDU({key:"<Your-Tabellenkalkulation-key-hier>"});

.

Sie können einen Schlüssel in der URL Ihrer Tabelle zu finden. Es ist meine Probe unten.
spreadsheet_sample_001
Auf diesem Bild ist URL „https://docs.google.com/spreadsheets/d/1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw/edit#gid=0“. Der Schlüssel für meine Tabelle ist „1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw“. Bitte überprüfen Sie die URL Ihrer Tabelle, um Ihre Schlüssel zu erhalten.

< Verwendung – Pager konfigurieren >

test.pager({
  startRow:2,//Zeilennummer, anfangen (erforderlich)
  minCol:2,//Spaltennummer, anfangen (erforderlich)
  maxCol:7,//Spaltennummer, um am Ende immer (erforderlich)
  recsPerPage:5//Datensätze in einer Seite (fakultativ)
});

Bitte vergleichen Sie die Syntax oben und unten stehende Tabelle. Wenn Sie die Tabelle unten sehen, bitte vorstellen, Excel oder jede Art von Tabellenkalkulation. Syntax oben bedeutet, dass der Bereich der ersten Seite ist rosa-Bereich, 2. Seite ist grünen Bereich. „B2:G2“ ist ein erster Rekord. „B6:G6“ ist eine fünfte Rekord.

A1 B1 C1 D1 E1 F1 G1 H1
A2 B2 C2 D2 E2 F2 G2 H2
A3 B3 C3 D3 E3 F3 G3 H3
A4 B4 C4 D4 E4 F4 G4 H4
A5 B5 C5 D5 E5 F5 G5 H5
A6 B6 C6 D6 E6 F6 G6 H6
A7 B7 C7 D7 E7 F7 G7 H7
A8 B8 C8 D8 E8 F8 G8 H8
A9 B9 C9 D9 E9 F9 G9 H9
A10 B10 C10 D10 E10 F10 G10 H10
A11 B11 C11 D11 E11 F11 G11 H11
A12 B12 C12 D12 E12 F12 G12 H12
A13 B13 C13 D13 E13 F13 G13 H13

< Verwendung – bekommen URL der Seite >
Es ist ein Beispiel zur ersten Seite URL zu bekommen.

var pageUrl = test.page(1);

( „test.pager(Objekt)“ wird vor der Ausführung dieser Funktion erforderlich. )

< Verwendung – Ajax ausführen >
Argumente für „test.ajax“ sind dieselben wie „http://api.jquery.com/jQuery.ajax/„.

test.ajax({
  url:test.page(1),
  success:function(json){
    console.log(json);
  }
});

Wenn Sie wissen möchten aktuelle Seite vorherige Seite oder nächste Seite möchten, nutzen Sie bitte „test.get()“ in der Funktion success und Kontrollparameter .

test.ajax({
  url:test.page(1),
  success:function(json){
    console.log(json);
    var param = test.get();
    if(param.pager.prev){
      console.log('Diese Seite hat vorigen Seite.');
    }else{
      console.log('Diese Seite hat keine vorherige Seite.');
    }
    if(param.pager.next){
      console.log('Diese Seite hat nächsten Seite.');
    }else{
      console.log('Diese Seite hat keine nächsten Seite.');
    }
  }
});

< Verwendung – JSON konvertiert, um 2D-Array >
„test.jsonToArr“ wandelt von JSON-Format von Google, um 2D-Array.

test.ajax({
  url:test.page(1),
  success:function(json){
    var arr2d = test.jsonToArr(json);
    console.log(arr2d);
  }
});

< Verwendung – Variable Cache >
Wenn Sie das Paging-Cache ermöglichen mit Hilfe von JavaScript-Variablen, folgen Sie bitte der nachfolgenden Syntax.

test.set({cache:true});

Dieses Argument schaltet auf Cache für Paging verwenden. Es prüft Update Zeitpunkt JSONP alle 20 Minuten standardmäßig. Wenn das Datum geändert, wird es automatisch klar Cache. Wenn Sie das Intervall, um das Datum zu überprüfen ändern möchten. Sie können die Syntax wie unten statt der oben genannten Syntax verwenden.

test.set({
  cache:true,
  cacheInterval:{
    sec:0,min:50,hour:0
  }
});

< Nachwort >
Es gibt grundlegende Unterschiede zwischen neuen und alten Google Spreadsheets.

  neu alt
Maximale Zellen 2 Millionen Zellen 400,000 Zellen
Maximale Spalten unbegrenzt 256 Spalten pro Blatt

Ich denke, die neue Version ist unglaublich groß und kostenlose Datenbank. Ich möchte interessante Verwendungen der neuen Google Spreadsheets finden.