2

我需要做的是阅读“公共”谷歌电子表格的内容(公开我的意思是我点击“文件>发布到网络”保存了工作表,因此无需登录谷歌即可访问帐户),为什么不也写一些东西进去。

谷歌搜索,我发现我可以访问工作表并获得与工作表内容等效的 xml,例如

https://spreadsheets.google.com/feeds/list/<sheetCode>/od6/public/values

如果我将该网址加载到浏览器中,效果会很好。但我需要找到一种“javascript 方式”来获取和处理返回值,即 xml(或 json,但 xml 会更可取)。

我尝试使用 ajax 调用,但我认为协议有些混乱。我无法正确获得服务器响应。

$.ajax({
    type: "GET",
    url: "https://spreadsheets.google.com/feeds/list/<sheetCode>/od6/public/values",
    success: function(data){alert("yeah");},
    error: function(){alert("fail..");},
    dataType:"xml",
});

我还尝试获取 json 而不是 xml,将“?alt = json”添加到 url 并更改数据类型,但我仍然有问题..

有什么想法/建议吗?

在此先感谢,最好的问候

4

1 回答 1

4

您需要使用 JSONP 调用进行请求,并且需要指定回调方法。这可以在 jQuery 中使用:

var url = 'https://spreadsheets.google.com/feeds/list/<CODE>/od6/public/values?alt=json-in-script&callback=?';
jQuery.getJSON(url).success(function(data) {
    console.log(data); 
}).error(function(message) {
    console.error('error' + message); 
}).complete(function() {
    console.log('completed!'); 
});

谷歌电子表格的文档和样本。

于 2012-11-20T17:36:28.917 回答