-1

Google 电子表格 API v4 文档似乎为 batchUpdate 列出了不正确的 URL。

文档列出:

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchUpdate

但是下面的代码

let range = "Sheet1!A\(index):\(index)"
let url = String(format:"%@/%@/values:batchUpdate/%@", baseUrl, spreadsheetId, range)
let params = ["valueInputOption":"RAW"]
let fullUrl = GTLUtilities.URLWithString(url, queryParameters: params)

let body = GTLObject()
body.JSON = ["majorDimension":"ROWS",
            "values": [values]]

driveService.fetchObjectByUpdatingObject(body, forURL: fullUrl, completionHandler: {
    (ticket:GTLServiceTicket!, object:AnyObject!, error:NSError!) in

结果是

 <p>The requested URL <code>/v4/spreadsheets/....values:batchUpdate/Sheet1!A4:4?valueInputOption=RAW</code> was not found on this server.  <ins>That’s all we know.</ins>

在这种情况下使用的正确 URL 是什么?

4

1 回答 1

-1

您的网址不正确。该文档指出:https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchUpdate

...但您使用的网址是:POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/:batchUpdate/{range}?{parameters}

在 batchUpdate 方法中,范围是 POST 正文的一部分,您提供的每个更新都有一个范围。有关详细信息,请参阅https://developers.google.com/sheets/samples/writing#write_to_multiple_ranges示例。

您在上面使用的代码示例似乎适用于普通更新方法,而不是 batchUpdate 方法。有关更多信息,请参阅上述链接中的其他示例。

于 2016-06-07T19:03:17.223 回答