Я пытаюсь выполнить пакетное обновление с API-интерфейсом google для iOS, но получаю ошибку с недопустимым значением в 'data [0] .values [0]' (type.googleapis.com/google .protobuf.ListValue),Ошибка пакетного обновления Google Sheet API iOS
вот мой код
NSString *baseUrl = @"https://sheets.googleapis.com/v4/spreadsheets/";
NSString *spreadsheetId = @"1tJd4toWFxmHAEOeONauRPcuH_rWJOESLQT7TvCIK0x0";
baseUrl= [baseUrl stringByAppendingString:spreadsheetId];
baseUrl = [baseUrl stringByAppendingString:@"/values:batchUpdate/"];
NSMutableDictionary * params=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"USER_ENTERED",@"valueInputOption", nil];
NSURL *postURL=[GTLUtilities URLWithString:baseUrl queryParameters:params];
NSLog(@"base url is %@", postURL);
GTLObject * body=[[GTLObject alloc]init];
NSMutableArray * titleArray=[[NSMutableArray alloc]initWithObjects:@"Customer ID",@"Customer Name",@"Latitude",@"Longitude" ,@"Last_Updated_At",nil];
NSMutableArray * wheelArray2=[[NSMutableArray alloc]initWithObjects:@"rt",@"SHJ",@"150.00",@"100.00",@"2:00:00", nil];
//[contentArray addObject:titleArray];
NSMutableDictionary * batchParams=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"USER_ENTERED",@"valueInputOption", nil];
NSMutableArray * batchParametersContentArray=[[NSMutableArray alloc]init];
NSMutableDictionary* batchParametersTitlesDict=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Sheet1!A1:E1",@"range",@"COLUMNS",@"majorDimension",titleArray,@"values", nil];
NSMutableDictionary* batchParametersContentDict=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Sheet1!A7:E7",@"range",@"ROWS",@"majorDimension",wheelArray2,@"values", nil];
[batchParametersContentArray addObject:batchParametersTitlesDict];
[batchParametersContentArray addObject:batchParametersContentDict];
[batchParams setObject:batchParametersContentArray forKey:@"data"];
NSLog(@"batch params are %@",batchParams);
body.JSON=batchParams;
[self.service fetchObjectByInsertingObject:body forURL:postURL completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (error==nil) {
NSLog(@"batch performed successfully");
}
else
{
NSLog(@"error is %@", error);
}
}];
Мои параметры запроса являются
batch params are {
data = (
{
majorDimension = COLUMNS;
range = "Sheet1!A1:E1";
values = (
"Customer ID",
"Customer Name",
Latitude,
Longitude,
"Last_Updated_At"
);
},
{
majorDimension = ROWS;
range = "Sheet1!A7:E7";
values = (
rt,
SHJ,
"150.00",
"100.00",
"2:00:00"
);
}
);
valueInputOption = "USER_ENTERED";
}
ошибка
error is Error Domain=com.google.GTLJSONRPCErrorDomain Code=400 "(Invalid value at 'data[0].values[0]' (type.googleapis.com/google.protobuf.ListValue), "Customer ID"
Недопустимое значение в 'data [0] .values [1]' (type.googleapis.com/google.protobuf.ListValue), "Имя клиента" Недопустимое значение в 'data [0] .values [2] '(type.googleapis.com/google.protobuf.ListValue), "Локатор" Недопустимое значение в' data [0] .values [3] '(type.googleapis.com/google.protobuf.ListValue), "Longitude" Недопустимое значение в 'data [0] .values [4]' (type.googleapis.com/google.protobuf.ListValue), "Last_Updated_At" Недопустимое значение в 'data [1] .values [0]' (type. googleapis.com/google.protobuf.ListValue), "rt" Недопустимое значение в 'data [1] .values [1]' (type.googleapis.com/google.protobuf.ListValue), "SHJ" Недопустимое значение в 'data [1] .values [2]' (type.googleapis.com/google.protobuf.ListValue), "150.00" Недопустимое значение в 'data [1] .values [3]' (type.googleapis.com/google.protobuf.ListValue), "100.00" Недопустимое значение в 'data [1] .values [4]' (type. googleapis.com/google.protobuf.ListValue), "2:00:00") "UserInfo = {error = Недопустимое значение в 'data [0] .values [0]' (type.googleapis.com/google.protobuf. ListValue), «Идентификатор клиента» Недопустимое значение в 'data [0] .values [1]' (type.googleapis.com/google.protobuf.ListValue), «Имя клиента» Недопустимое значение в 'data [0]. значения [2] '(type.googleapis.com/google.protobuf.ListValue), «Локатор» Недопустимое значение в' data [0] .values [3] '(type.googleapis.com/google.protobuf.ListValue) , "Долгота" Недопустимое значение в 'data [0] .values [4]' (type.googleapis.com/google.protobuf.ListValue), "Last_Updated_At" Недопустимое значение в 'data [1] .values [0] '(type.googleapis.com/google.protobuf.List Значение), "rt" Недопустимое значение в 'data [1] .values [1]' (type.googleapis.com/google.protobuf.ListValue), "SHJ" Недопустимое значение в 'data [1] .values [ 2] '(type.googleapis.com/google.protobuf.ListValue), "150.00" Недопустимое значение в' data [1] .values [3] '(type.googleapis.com/google.protobuf.ListValue), " 100.00 " Недопустимое значение в 'data [1] .values [4]' (type.googleapis.com/google.protobuf.ListValue)," 2:00:00 ", NSLocalizedFailureReason = (Недопустимое значение в 'data [0] .values [0] '(type.googleapis.com/google.protobuf.ListValue), "Идентификатор клиента" Недопустимое значение в' data [0] .values [1] '(type.googleapis.com/google.protobuf. ListValue), «Имя клиента» Недопустимое значение в 'data [0] .values [2]' (type.googleapis.com/google.protobuf.ListValue), "Latitude" Недопустимое значение в 'data [0] .values [3] '(type.googleapis.com/g oogle.protobuf.ListValue), "Longitude" Недопустимое значение в 'data [0] .values [4]' (type.googleapis.com/google.protobuf.ListValue), "Last_Updated_At" Недопустимое значение в 'data [1 ] .values [0] '(type.googleapis.com/google.protobuf.ListValue), "rt" Недопустимое значение в' data [1] .values [1] '(type.googleapis.com/google.protobuf. ListValue), "SHJ" Недопустимое значение в 'data [1] .values [2]' (type.googleapis.com/google.protobuf.ListValue), "150.00" Недопустимое значение в 'data [1] .values [ 3] '(type.googleapis.com/google.protobuf.ListValue), "100.00" Недопустимое значение в' data [1] .values [4] '(type.googleapis.com/google.protobuf.ListValue), " 2:00:00 "), GTLStructuredError = GTLErrorObject 0x7f89ca465990: {code: 400 сообщение:" Недопустимое значение в 'data [0] .values [0]' (type.googleapis.com/google.protobuf.ListValue), «Идентификатор клиента» Недопустимое значение в 'data [0] .values [1]' (type.googleapis.com/google.protobuf.ListValue), «Имя клиента» Недопустимое значение в 'data [0]. значения [2] '(type.googleapis.com/google.protobuf.ListValue), «Локатор» Недопустимое значение в' data [0] .values [3] '(type.googleapis.com/google.protobuf.ListValue) , "Долгота" Недопустимое значение в 'data [0] .values [4]' (type.googleapis.com/google.protobuf.ListValue), "Last_Updated_At" Недопустимое значение в 'data [1] .values [0] '(type.googleapis.com/google.protobuf.ListValue), "rt" Недопустимое значение в' data [1] .values [1] '(type.googleapis.com/google.protobuf.ListValue), "SHJ" Недопустимое значение в 'data [1] .values [2]' (type.googleapis.com/google.protobuf.ListValue), "150.00" Недопустимое значение в 'data [1] .values [3]' (t ype.googleapis.com/google.protobuf.ListValue), "100.00" Недопустимое значение в 'data [1] .values [4]' (type.googleapis.com/google.protobuf.ListValue), "2:00: 00 "" ошибки?: [1] статус?: "INVALID_ARGUMENT"}}
Я просто создал 2D массив, { данных = ( ( "идентификатор клиента", "Customer Name", Широта, Долгота , "Last_Updated_At" ), ( к.т., SHJ, "150,00", "100,00", "2:00:00" ) ); valueInputOption = "USER_ENTERED"; } Недопустимое значение в 'data [0]' (type.googleapis.com/google.apps.sheets.v4.ValueRange), «Идентификатор клиента» –
Поле данных не является 2d-массивом, каждое поле значений. Поле данных было правильным, как и раньше. –
{данных = ({ majorDimension = РЯДЫ; диапазон = "Лист1 A7: E7"; значения = ( ( "ID клиента", "Имя клиента", Широта, долготе, "Last_Updated_At" ), ( к.т., SHJ, "150,00", "100,00", "2:00:00" ));}); valueInputOption = "USER_ENTERED"; } –