使用gem 'google-api-client'
V4处理谷歌工作表。我正在尝试在索引处插入几行,下面是我得到的-
spreadsheet = sheet(sheet_id: Utilities.global_config[:googlesheets][:sheetid], sheet_name: 'Sheetname')
insert_dimension_range = Google::Apis::SheetsV4::DimensionRange.new
insert_dimension_range.sheet_id = spreadsheet.properties.sheet_id
insert_dimension_range.dimension = 'ROWS'
insert_dimension_range.start_index = 1
insert_dimension_range.end_index = 3
insert_dimension = Google::Apis::SheetsV4::InsertDimensionRequest.new(inherit_from_before: false)
insert_dimension.range = insert_dimension_range
insert_dimension_request = Google::Apis::SheetsV4::Request.new
insert_dimension_request.insert_dimension = insert_dimension
batch_update_spreadsheet_request = Google::Apis::SheetsV4::BatchUpdateSpreadsheetRequest.new
batch_update_spreadsheet_request.requests = [insert_dimension: insert_dimension_request]
response = service.batch_update_spreadsheet(Utilities.global_config[:googlesheets][:sheetid], batch_update_spreadsheet_request)
不确定上面的代码有什么问题。我收到错误消息- Google::Apis::ClientError: badRequest: Must specify at least one request.
在API向Google的服务器发送请求之前,object的内存表示是这样的:
我可以看到@request_object.requests
数组中有正确的insert_dimension
,但不理解错误消息。
有人知道我需要解决什么问题吗?非常感谢,提前♂️
发布于 2020-03-09 16:40:08
想明白了!在我的问题中,我指定了start_index = 1
,这意味着我请求API从row #1
开始插入,但在我的工作表中,我合并了前两行。显然,它会失败。
更改了start_index = 3
,现在它可以工作了!希望错误消息能更清楚一些。
https://stackoverflow.com/questions/60602687
复制相似问题