【问题标题】:Google Spreadsheets API v4 - batchUpdate URL is incorrectGoogle 电子表格 API v4 - 批量更新 URL 不正确
【发布时间】:2016-06-03 22:55:39
【问题描述】:

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 是什么?

【问题讨论】:

  • ...但是你的问题是什么?
  • 问题很明确 - 在这种情况下使用的正确 URL 是什么?
  • 您解决了这个问题吗?批量更新也面临同样的问题

标签: ios swift google-sheets-api


【解决方案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 示例。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    相关资源
    最近更新 更多