iOS – 如何从objective-c编辑/修改/删除/更新Google工作表中的数据

我已按照以下链接获取特定行数据。

https://developers.google.com/sheets/api/quickstart/ios

但我无法执行以下操作:

  1. 清除特定Row的数据
  2. 修改和更新特定行中的数据以删除我在下面使用的方法:

– (void)DeleteRows {self.txtView.text = @“获取工作表数据……”;

NSString *spreadsheetId = @"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"; NSString *range = @"A3:F3"; GTLRSheets_ClearValuesRequest *req = [[GTLRSheets_ClearValuesRequest alloc] init]; GTLRSheetsQuery *query_Clear = [GTLRSheetsQuery_SpreadsheetsValuesClear queryWithObject:req spreadsheetId:spreadsheetId range:range]; [self.service executeQuery:query_Clear delegate:self didFinishSelector:@selector(displayResultWithTicket:finishedWithObject:error:)]; 

}

以下是从我使用的范围和电子表格ID的工作表中执行清晰数据的方法:

 +(instancetype)queryWithObject:(GTLRSheets_ClearValuesRequest *)object spreadsheetId:(NSString *)spreadsheetId range:(NSString *)range { if (object == nil) { GTLR_DEBUG_ASSERT(object != nil, @"Got a nil object"); return nil; } NSArray *pathParams = @[ @"range", @"spreadsheetId" ]; NSString *pathURITemplate = @"v4/spreadsheets/{spreadsheetId}/values/{range}:clear"; GTLRSheetsQuery_SpreadsheetsValuesClear *query = [[self alloc] initWithPathURITemplate:pathURITemplate HTTPMethod:@"POST" pathParameterNames:pathParams]; query.bodyObject = object; query.spreadsheetId = spreadsheetId; query.range = range; query.expectedObjectClass = [GTLRSheets_ClearValuesResponse class]; query.loggingName = @"sheets.spreadsheets.values.clear"; return query; } 

我正在使用上面的方法来执行行删除操作。但是我得到了截图中提到的错误…

在此处输入图像描述

我在Postman和Rest客户端使用的API: https ://sheets.googleapis.com/v4/spreadsheets/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/values/B3:F3: clear

我使用Postman和Rest Client执行相同的操作同样的错误我在控制台中…

 { "error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" } } 

如何删除或修改来自objective-c的googlesheets中的particalr行的数据?

答案是:

 In viewDidLoad 

我在下面添加句子,它工作正常。

 signIn.scopes = [NSArray arrayWithObjects:kGTLRAuthScopeSheetsSpreadsheetsReadonly,kG‌​TLRAuthScopeSheetsSp‌​readsheets, nil]; 

以前的句子应该如下:

 signIn.scopes = [NSArray arrayWithObjects:kGTLRAuthScopeSheetsSpreadsheetsReadonly, nil];