< 警告 >
我建议你获得额外的谷歌帐户仅用于公众。因为如果你按照我的步骤,您的Gmail地址将是对公共JSONP文件。
< 新版Google表格 >
谷歌电子表格的老版本可以共享电子表格为XML,JSON和某种格式。我想新的版本没有这样的共享功能。但是,我发现谷歌电子表格的新版本很好的解决方案上的StackOverflow的问题的答案。
Unable to publish specific cells in new Google Spreadsheets – StackOverflow ( 用英语 )
根据以上的页面,这个API是一种旧的API。没有人知道,当它停止。我不在乎这种情况。但是,如果你不喜欢的情况,我不建议你使用这个API。
< URL格式 >
https://spreadsheets.google.com/feeds/cells/[ 您的电子表格的关键 ]/od6/public/values?min-row=[ 开始行号 ]&max-row=[ 结束行数 ]&min-col=[ 开始列数 ]&max-col=[ 结束列号 ]&alt=json-in-script&callback=[ 回调函数名 ]
< 如何使用它? >
JSONP格式很容易在JavaScript中使用。没有人需要解析器。但我想使用URL生成器来使API更加有用。所以我开发了从转换页面参数到URL参数下谷歌的语法的脚本。
< jQuery插件 >
我开发了一个名为 “generateGoogleJsonpUri” 这个jQuery插件。
generateGoogleJsonpUri – github
我创建示例页面就像一个博客框架来测试我的插件。
http://admin.mecrazy.net/sample/generateGoogleJsonpUri/
如果你愿意,请复制其源作为一个例子。
< 用法 – 铸件 >
铸造语法为
var test = $.genJsonpGDU("<把你的电子表格关键就在这里>");
或
var test = $.genJsonpGDU({key:"<把你的电子表格关键就在这里>"});
你可以找到一个关键在电子表格中的URL。这是我下面的示例。
关于这个图片,URL是 “https://docs.google.com/spreadsheets/d/1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw/edit#gid=0″。关键我的电子表格是 “1IG2QEOXehU01b6DoMQi19CvFpm2EZJOUM2y4lqXKduw”。请检查您的电子表格的网址,让您的密钥。
< 用法 – 配置寻呼机 >
test.pager({ startRow:2,//行号开始得到 (需要) minCol:2,//列号开始得到 (需要) maxCol:7,//最后得到的列号 (需要) recsPerPage:5//在一个页面记录 (可选) });
请比较上面的语法和下表。当你看到下面的表格,请想象一下Excel或任何形式的电子表格。语法上面表示第一页的范围是粉红色的范围,第二页是绿色的范围。 “B2:G2″ 是第一条记录。”B6:G6” 是第五记录。
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 |
< 用法 – 获取页面的URL >
这是一个例子,得到第一页的URL。
var pageUrl = test.page(1);
( “test.pager(客体)” 是执行该功能之前需要。 )
< 用法 – 执行Ajax >
参数为 “test.ajax” 相同 “http://api.jquery.com/jQuery.ajax/“。
test.ajax({ url:test.page(1), success:function(json){ console.log(json); } });
如果你想知道当前页面上一页或下一页,请在 success 功能,检查参数使用 “test.get()”。
If you want to know current page has previous page or next page, please use “test.get()” in success function and check parameters.
test.ajax({ url:test.page(1), success:function(json){ console.log(json); var param = test.get(); if(param.pager.prev){ console.log('当前页面有上一页。'); }else{ console.log('当前页面没有上一个页面。'); } if(param.pager.next){ console.log('当前页面翻页。'); }else{ console.log('当前页没有翻页。'); } } });
< 用法 – JSON转换为二维数组 >
“test.jsonToArr” 把来自谷歌的JSON格式,以二维数组。
test.ajax({ url:test.page(1), success:function(json){ var arr2d = test.jsonToArr(json); console.log(arr2d); } });
< 用法 – 变量缓存 >
如果你想使用JavaScript变量来启用分页缓存,请按照下面的语法。
test.set({cache:true});
这种说法切换到使用缓存分页。它会检查更新日期JSONP每20分钟的默认。如果日期改变,它会自动清除缓存。如果你想改变的时间间隔,检查日期。你可以用它代替上面的语法类似下面的语法。
test.set({ cache:true, cacheInterval:{ sec:0,min:50,hour:0 } });
< 后记 >
有新的和旧的谷歌电子表格之间的基本区别。
新 | 老 | |
最大的细胞 | 2000000细胞 | 400000细胞 |
最大列 | 无限 | 每张256列 |
我认为新版本是令人难以置信的大,免费的数据库。我想找到新的谷歌电子表格有趣的用法。