-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

URL が正しくありません。ドキュメントには次のように記載されています。https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchUpdate

...しかし、使用しているURLは次のとおりです。POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/:batchUpdate/{range}?{parameters}

batchUpdate メソッドでは、範囲は POST の本体の一部であり、提供する更新ごとに 1 つの範囲です。詳細については、https://developers.google.com/sheets/samples/writing#write_to_multiple_rangesサンプルをご覧ください。

上記で使用しているコードサンプルは、batchUpdate ではなく、通常の update メソッド用のようです。詳細については、上記のリンクにある他のサンプルを参照してください。

于 2016-06-07T19:03:17.223 に答える