アムは、iOS用GoogleスプレッドシートのAPIを使用してバッチ更新をやろうとしたが「データ[0] .values [0]」(type.googleapis.com/googleでエラー無効な値を取得しています.protobuf.ListValue)、ここではGoogleのシート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);
}
}];
である私のリクエストパラメータは、エラーが
0123で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";
}
です0166914845494959500004326
'data [0] .values [1]'(type.googleapis.com/google.protobuf.ListValue)の値が無効です。「お客様名」 'data [0] .values [2] '(type.googleapis.com/google.protobuf.ListValue)において、 "緯度" 無効な値のデータ[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」'データ[1] .values [4]'(タイプでのデータ[1] .values [3] '(type.googleapis.com/google.protobuf.ListValue)、 "100.00" 無効値で無効値。 googleapis.com/google.protobuf.ListValue)、 "2:00:00") "UserInfo = {error = 'data [0] .values [0]'の値が無効です(type.googleapis.com/google.protobuf。 ListValue)のデータにおける 'データ[0] .values [1]'(type.googleapis.com/google.protobuf.ListValue)、 "顧客名" 無効な値で、 "顧客ID" 無効値[0]。値[2] '(type.googleapis.com/google.protobuf.ListValue)、「Latitude」 ' 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値)、[ '[1]データ[1] .values'(type.googleapis.com/google.protobuf.ListValue)、 "SHJ"「データ[1] .valuesで 値が無効で 無効値を "RT" 2] '(type.googleapis.com/google.protobuf.ListValue)、 "150.00" ' data [1] .values [3] '(type.googleapis.com/google.protobuf.ListValue)の値が無効です。 100.00" 'データ[1] .values [4]' で 無効値(type.googleapis.com/google.protobuf.ListValue)、 "2時00分00秒"、「データでNSLocalizedFailureReason =(無効値[0] .values [0] '(type.googleapis.com/google.protobuf.ListValue)、 "Customer ID" ' data [0] .values [1] 'の値が無効です(type.googleapis.com/google.protobuf。 "0" .values [2] '(type.googleapis.com/google.protobuf.ListValue)、 "Latitude"で無効な値 ' data [0] .valuesの値が無効です[3] '(type.googleapis.com/g oogle.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。 (1)。値[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 message: 'データ[0] .values [0]'の値が無効です(type.googleapis.com/google.protobuf。「顧客ID」 'data [0] .values [1]'(type.googleapis.com/google.protobuf.ListValue)の値が無効です。「お客様名」 'data [0]'の値が無効です。値[2] '(type.googleapis.com/google.protobuf.ListValue)、「Latitude」 ' 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]'の値が無効です「100.00」 'data [1] .values [4]'(type.googleapis.com/google.protobuf.ListValue)の値が無効です。「2:00:ype.googleapis.com/google.protobuf.ListValue」、 00 ""エラー:[1]ステータス? "INVALID_ARGUMENT"}}
私はちょうど=( ( "顧客ID" 2次元配列、{ データ、 "顧客名"、 緯度、 経度を作成、 "Last_Updated_At" )、 ( RT、 SHJ、 "150.00"、 "100.00"、 "2時00分00秒" ) ); valueInputOption = "USER_ENTERED"; } 'data [0]'(type.googleapis.com/google.apps.sheets.v4.ValueRange)の値が無効です。「顧客ID」 –
データフィールドは2次元配列ではなく、各値フィールドは2次元配列です。前と同じようにデータフィールドは正しいです。 –
{データ=({ majorDimension = ROWS; 範囲= "シート1 A7:E7"; 値=( ( "顧客ID"、 "顧客名"、 緯度、 経度、 "Last_Updated_At" )、 ( RT、 SHJ、 "150.00"、 "100.00"、 "二時00分00秒" ));}); valueInputOption = "USER_ENTERED"。 } –