< avertissement >
Je vous recommande d’obtenir compte Google supplémentaire uniquement pour public.
Parce que si vous suivez ma procédure, votre adresse Gmail sera sur fichier JSONP public.
< Google Feuilles de calcul >
Ancienne version de Google Feuilles de calcul peut partager des feuilles de calcul au format XML, JSON et certains type de format. Je pensais que la nouvelle version ne dispose pas de telles fonctions de partage. Mais j’ai trouvé la bonne solution pour la nouvelle version de Google Spreadsheets sur la réponse à la question sur StackOverflow.
Unable to publish specific cells in new Google Spreadsheets – StackOverflow ( en anglais )
Selon la page ci-dessus, cette API est une sorte de vieux API. Personne n’est sûr quand il s’arrête. Je n’aime pas cette situation. Mais si vous n’aimez pas la situation, je ne vous recommande pas d’utiliser cette API.
< le format URL >
https://spreadsheets.google.com/feeds/cells/[ Votre clé de feuille de calcul ]/od6/public/values?min-row=[ commencer numéro de ligne ]&max-row=[ fin numéro de ligne ]&min-col=[ numéro de départ de la colonne ]&max-col=[ fin numéro de colonne ]&alt=json-in-script&callback=[ rappel nom de la fonction ]
< Comment l’utiliser? >
Format JSONP est facile à utiliser en JavaScript. Nul besoin analyseur. Mais je tiens à utiliser le générateur d’URL pour faire de l’API plus utile. J’ai donc développé un script qui convertit de paramètres de pagination de paramètres d’URL syntaxe suivante Google.
< Le plugin jQuery >
J’ai développé ce plugin jQuery nommé « generateGoogleJsonpUri ».
generateGoogleJsonpUri – github
J’ai créé la page de l’échantillon comme un cadre de blog pour tester mon plugin.
https://mecrazy.net/sample/generateGoogleJsonpUri/
Si vous voulez, s’il vous plaît copiez sa source à titre d’exemple.
< usage – coulage >
Coulée syntaxe est
var test = $.genJsonpGDU("<Votre feuille de calcul-clé-ici>");
ou
var test = $.genJsonpGDU({key:"<Votre feuille de calcul-clé-ici>"});
.
Vous pouvez trouver une clé dans l’URL de votre feuille de calcul. Il est mon exemple ci-dessous.
Sur cette image, l’URL est « https://docs.google.com/spreadsheets/d/1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw/edit#gid=0 ». La clé pour ma feuille de calcul est « 1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw ». S’il vous plaît vérifier l’URL de votre feuille de calcul pour obtenir votre clé.
< usage – configurer pager >
test.pager({ startRow:2,//Numéro de la ligne de commencer à obtenir (requis) minCol:2,//Numéro de colonne pour commencer à obtenir (requis) maxCol:7,//Numéro de la colonne de mettre fin à obtenir (requis) recsPerPage:5//Enregistrements dans une page (en option) });
S’il vous plaît de comparer la syntaxe ci-dessus et le tableau ci-dessous. Quand vous voyez le tableau ci-dessous, s’il vous plaît imaginer Excel ou n’importe quel type de feuille de calcul. Syntaxe ci-dessus, la gamme de la première page est la gamme rose, 2ème page est zone verte. « B2:G2 » est un premier enregistrement. « B6:G6 » est un cinquième dossier.
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 |
< usage – obtenir URL de la page >
Il est un exemple pour obtenir la première page URL.
var pageUrl = test.page(1);
( « test.pager(objet) » est nécessaire avant d’exécuter cette fonction. )
< usage – exécuter Ajax >
Arguments pour « test.ajax » sont les mêmes que « http://api.jquery.com/jQuery.ajax/ ».
test.ajax({ url:test.page(1), success:function(json){ console.log(json); } });
Si vous voulez savoir la page en cours a la page précédente ou la page suivante, s’il vous plaît utiliser « test.get() » en fonction « success » et des paramètres de contrôle.
test.ajax({ url:test.page(1), success:function(json){ console.log(json); var param = test.get(); if(param.pager.prev){ console.log("Cette page a la page précédente."); }else{ console.log("Cette page n'a pas la page précédente."); } if(param.pager.next){ console.log("Cette page a page suivante."); }else{ console.log("Cette page n'a pas encore la page suivante."); } } });
< usage – convertir JSON de tableau 2D >
« test.jsonToArr » convertit le format JSON de Google de tableau 2D.
test.ajax({ url:test.page(1), success:function(json){ var arr2d = test.jsonToArr(json); console.log(arr2d); } });
< usage – cache variables >
Si vous souhaitez activer le cache de pagination à l’aide des variables JavaScript, s’il vous plaît suivre la syntaxe ci-dessous.
test.set({cache:true});
Cet argument passe à utiliser le cache pour la pagination. Il vérifie la date de mise à jour sur JSONP toutes les 20 minutes par défaut. Si la date a changé, il cache automatiquement clair. Si vous souhaitez modifier l’intervalle de vérifier la date. Vous pouvez utiliser la syntaxe comme ci-dessous à la place de la syntaxe ci-dessus.
test.set({ cache:true, cacheInterval:{ sec:0,min:50,hour:0 } });
< épilogue >
Il existe des différences fondamentales entre les nouveaux et les anciens Google Spreadsheets.
nouveau | vieux | |
cellules maximum | 2 millions de cellules | 400,000 cellules |
Nombre maximum de colonnes | illimité | 256 colonnes par feuille |
Je pense que la nouvelle version est la base de données incroyablement grand et libre. Je veux trouver des usages intéressants de nouvelles feuilles de calcul Google.