使用Google电子表格API更新iOS Swift中的特定行

使用Google电子表格API更新iOS Swift中的特定行,ios,iphone,swift,google-sheets,google-sheets-api,Ios,Iphone,Swift,Google Sheets,Google Sheets Api,我一直在iOS swift中使用Google电子表格API,但在iOS swift中更新电子表格行/数据中的特定字段时出现问题 下面是在电子表格顶部添加一行的代码,但我想要一个特定的索引或匹配一个特定的值 let service = GTLRSheetsService() service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()

我一直在iOS swift中使用Google电子表格API,但在iOS swift中更新电子表格行/数据中的特定字段时出现问题

下面是在电子表格顶部添加一行的代码,但我想要一个特定的索引或匹配一个特定的值

  let service = GTLRSheetsService()
            service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
            service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
            let range = "Employee List!A2:D"
             let valueRange = GTLRSheets_ValueRange.init()
             valueRange.values = [[job.jobTitle!]] //want to add job title on specific field after maching employee name

            let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId:  Constants.SPREAD_SHEET_ID, range: range)
    query.valueInputOption = "USER_ENTERED"

    service.executeQuery(query) { (ticket, response, error) in
        print(response)

    }
这段代码将作业标题添加到B2列的顶部,但我希望通过检查名称,然后根据名称添加作业,将其添加到特定行

PS:数据如下所示

有人能帮我吗


非常感谢

您应该为要更新的单元格定义一个精确的范围。可能是这样的:

let service = GTLRSheetsService()
service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
let rowIndex:Int = job.rowIndex
let range = "Employee List!C\(rowIndex):C\(rowIndex)"
let valueRange = GTLRSheets_ValueRange()
valueRange.range = "Employee List!C\(rowIndex):C\(rowIndex)"
valueRange.values = [[job.jobTitle!]]
valueRange.majorDimension = "COLUMNS"

let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId:  Constants.SPREAD_SHEET_ID, range: range)
query.valueInputOption = "USER_ENTERED"

service.executeQuery(query) { (ticket, response, error) in
    print(response)

}

不要忘了在
GIDSignIn.sharedInstance().scopes

中定义一个正确的
范围
,我强烈建议您仔细阅读,因为它教您如何在特定单元格上读/写。你也可以从中推断。