Google Spreadsheets API v4 - batchUpdate网址不正确

时间:2016-06-03 22:55:39

标签: ios swift google-sheets-api

Google Spreadsheets API v4文档似乎列出了针对batchUpdate的错误网址。

文档列表:

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>

在此实例中使用的正确网址是什么?

1 个答案:

答案 0 :(得分:-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方法。有关详细信息,请参阅上述链接中的其他示例。