我尝试使用JavaScript通过HTTP请求读取和写入Google电子表格中的单元格。 “读取”操作有效,但“写入”操作失败。
请帮忙指出哪个部分需要修改我的“写入”操作代码。
我遵循的写入示例来自这里https://developers.google.com/google-apps/spreadsheets/,但它没有起作用。
我的读取操作(有效):
我的写入操作(这个不起作用):
我遵循的写入示例来自这里https://developers.google.com/google-apps/spreadsheets/,但它没有起作用。
我的读取操作(有效):
http_request.onreadystatechange = function() {
process_cellrw(http_request);
};
http_request.open('GET',"https://spreadsheets.google.com/feeds/cells/0Aqed....RHdGc/od6/private/full/R1C1", true);
http_request.setRequestHeader('Authorization','Bearer ' + strAccessToken);
http_request.send(null);
我的写入操作(这个不起作用):
var testxml = ['<entry xmlns="http://www.w3.org/2005/Atom" <br>
xmlns:gs="http://schemas.google.com/spreadsheets/2006">',<br>
'<id>https://spreadsheets.google.com/feeds/cells/0Aqed....RHdGc/od6/private/full/R1C1</id>',<br>
'<link rel="edit" type="application/atom+xml"<br> href="https://spreadsheets.google.com/feeds/cells/0Aqed....RHdGc/od6/private/full/R1C2/9zlgi"/>',<br>
'<gs:cell row="1" col="1" inputValue="xxxx"/>',<br>
'</entry>'].join('');<br>
http_request.onreadystatechange = function() {
process_cellrw();
};
http_request.open('PUT',"https://spreadsheets.google.com/feeds/cells/0Aqed....RHdGc/od6/private/full/R1C2/9zlgi");
http_request.setRequestHeader('Authorization','Bearer ' + strAccessToken);
http_request.setRequestHeader('GData-Version','3.0');
http_request.setRequestHeader('Content-Type', 'application/atom+xml');
http_request.setRequestHeader('If-Match','*');
http_request.setRequestHeader('Content-Length', testxml.length.toString());
http_request.send(testxml);
写操作总是在回调函数 process_cellrw()
中收到 http_request.status = 0
。
我的环境是 Windows 7 + Chrome 浏览器。我还在 Android + Webkit 上进行了测试,仍然失败。
我还尝试通过列表提要添加一行,但收到 http_request.status = 0
而失败。