删除范围无效 - Google Sheets API - Swift

问题描述:

我正在使用视图控制器,用户应该在位于谷歌驱动器中的电子表格中删除一行表格。删除范围无效 - Google Sheets API - Swift

用户成功登录后,会显示一个表格视图,用户可以通过在适当的单元格上向左滑动来删除该行。下面的代码显示了删除过程。当我触发的过程中,会显示以下错误:

“无效的请求[0] .deleteRange:id为无网格:0”

//Delete Function TableView - Access by swiping left. 
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) 
{ 
    //1 - Delete Row From Index 
    let toDelete = GTLRSheets_DeleteRangeRequest.init() 
    toDelete.range?.sheetId = 317088521 
    toDelete.range?.startRowIndex = 6 
    toDelete.range?.endRowIndex = 6 
    toDelete.range?.startColumnIndex = 0 
    toDelete.range?.endColumnIndex = 3 
    toDelete.shiftDimension = "ROWS" 

    let batchUpdate = GTLRSheets_BatchUpdateSpreadsheetRequest.init() 
    let request = GTLRSheets_Request.init() 
    request.deleteRange = toDelete 
    batchUpdate.requests = [request] 

    let deleteQuery = GTLRSheetsQuery_SpreadsheetsBatchUpdate.query(withObject: batchUpdate, spreadsheetId: spreadsheetID) 
    service.executeQuery(deleteQuery, delegate: self, didFinish: #selector(deleteFromIndexWithTicket(ticket:finishedWithObject:error:))) 
} 

func deleteFromIndexWithTicket(ticket: GTLRServiceTicket, finishedWithObject result : GTLRSheets_BatchGetValuesResponse , error : NSError?) { 
    if let error = error { 
     print(error.localizedDescription) 
     return 
    } 

    print("Deleted from index") 
} 

我的坏...我还没有初始化的GridRange 。以下是工作代码。

 //1 - Delete Row From Index 
    let toDelete = GTLRSheets_DeleteRangeRequest.init() 
    let gridRange = GTLRSheets_GridRange.init() 
    toDelete.range = gridRange 
    gridRange.sheetId = indexID as NSNumber 
    gridRange.startRowIndex = lengthTrainingDatabase - indexPath.row as NSNumber 
    gridRange.endRowIndex = lengthTrainingDatabase - indexPath.row + 1 as NSNumber 
    toDelete.shiftDimension = kGTLRSheets_DeleteRangeRequest_ShiftDimension_Rows