正确的Google电子表格更新语法 - Javascript

时间:2013-01-24 09:27:59

标签: javascript jquery google-sheets google-spreadsheet-api

有人知道使用Javascript API更新Google Spreadsheets中的行的正确语法吗?

我正在处理API文档here,我无法弄清楚发送数据所需的正确语法是什么。我目前所拥有的是:

var serialObject = $('#basicForm').serialize();
$.ajax({
        url: updateBasicUrl,
        type: 'PUT',
        data: serialObject,
    });

数据字段的语法应该是什么(上面会引发无法识别的错误)?

编辑 - 将JSON对象转换为XML以符合xml here的精确外观后,它仍然不起作用:

var updateBasicUrl = "https://spreadsheets.google.com/feeds/list/*spreadsheetIDnumber*/od6/private/full/*cellID*/*versionnumber*?access_token=*accesstoken*
$.ajax({
        url: updateBasicUrl,
        type: 'PUT',
        contentType: 'application/atom+xml',
        //contentType: 'text/xml',  //tried both of these, they don't seem to work
        data: xmlBasic,
    })

编辑 - 所以似乎存在跨域原因问题。 Google Spreadsheets API不允许使用它。有人知道解决方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在java源代码中搜索解决方案 - http://code.google.com/p/gdata-java-client/source/browse/trunk/java/src/com/google/gdata/client/spreadsheet/SpreadsheetService.java?r=94

这会触发java版本中的send: service.insert(cellFeedUrl,newEntry);

public void setCell(int row, int col, String formulaOrValue)
    throws IOException, ServiceException {

  CellEntry newEntry = new CellEntry(row, col, formulaOrValue);
  service.insert(cellFeedUrl, newEntry);
  out.println("Added!");
}