我在一个网络应用程序上工作,我想让用户推送数据到她自己的谷歌电子表格。
首先,我尝试使用Google APIs Client Library for JavaScript,但它似乎没有涵盖电子表格API (https://developers.google.com/apis-explorer/#p/)。
然后我决定直接使用Google Spreadsheets API version 3.0。我设法使用jQuery
和JSONP
检索用户的电子表格
$.ajax({
url: 'https://spreadsheets.google.com/feeds/spreadsheets/private/full?alt=json-in-script&access_token=' + access_token,
dataType: 'JSONP',
success: function(data){
// use the spreadsheets
}
});
在相同的方法中,我从用户选择的电子表格中检索工作表。然后,我必须将数据POST
到选定的工作表。问题来了:使用JSONP
不能做到这一点。而且谷歌服务器似乎不支持CORS
。我在浏览器中看到以下错误:
XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.
谢谢你调查这个。
发布于 2013-11-12 07:48:28
我也在调查这件事大约8个月。我偶然发现了a blog post written by Martin Hawskey。我按照这里的指南,我能够设置一个HTML表单张贴到电子表格。
实际上,您可以在电子表格中设置一个可接收数据的已发布web应用程序。要绕过CORS问题,您需要在页面上定位一个隐藏的iframe。我想在这篇文章中复制代码,但有相当多的代码。
演示
我将提供一些我希望在我开始研究这篇文章时得到的建议。如果你可以..。尝试设置一个您可以使用的PHP服务器。发布数据要容易得多,也更灵活。我现在在工作中忠实地使用Zend GData,希望我能早点发现它:)
编辑
Marting Hawskey对此进行了更新,支持在不使用隐藏iframe的情况下提交AJAX。See here。
发布于 2016-06-09 23:30:55
屏幕截图的分步说明
在阅读了Martin Hawskey的很好的介绍(将数据从超文本标记语言表单发送到谷歌电子表格)并看到一些差距/假设之后,我们决定编写一个详细/全面的教程,其中包含分步说明,一些人发现它很有用:
该脚本将通过HTTP POST
发送的所有数据保存在谷歌电子表格中,并可选择将内容转发到电子邮件地址。(如果您希望收到新数据的通知,则非常有用)
HTML表单:
结果(工作表中的行):
希望它能帮助其他人。
https://stackoverflow.com/questions/19887737
复制相似问题