2016-07-01 8 views
0

Der Versuch, die neue Version 4 der Blätter API erstellen zu verwenden, um ein Blatt mit dem folgenden CodeBenötigen Sie Hilfe bei einer neuen Tabelle in Objective-C

- (void)createSpreadsheet { 
NSString *baseUrl = @"https://sheets.googleapis.com/v4/spreadsheets"; 

GTLObject *newSpreadsheet = [[GTLObject alloc] init]; 
NSArray *keys = [NSArray arrayWithObjects:@"title", nil]; 
NSArray *objects = [NSArray arrayWithObjects:@"APIv4 Test", nil]; 

NSMutableDictionary *jsonDict = [NSMutableDictionary dictionaryWithObjects:objects forKeys:keys]; 

[newSpreadsheet setJSONValue:jsonDict forKey:@"properties"]; 
//[newSpreadsheet setJSON:jsonDict]; 

[self.service fetchObjectByInsertingObject:newSpreadsheet forURL:[NSURL URLWithString:baseUrl] 
         delegate:self 
       didFinishSelector:@selector(displaySheetIDWithServiceTicket:finishedWithObject:error:)]; 

}

Der Fehler ich zu erstellen ist:

The operation couldn't be completed. 
(Client project not found. Please pass a valid project.) 

Ich denke, dass etwas mit meiner JSON-Darstellung nicht stimmt? Oder verwende ich den falschen Methodenaufruf, um eine neue Tabelle zu erstellen?

Wenn ich versuche und fetchObjectByUpdatingObject verwende, bekomme ich einen Fehler 404 nicht gefunden, der sinnvoll ist, da es noch nicht existiert.

Ich weiß, ich kann es mit der Drive API tun, würde aber lieber die neue v4-Funktion verwenden.

+0

Haben Sie die Google Tabellen-API in Ihrer Entwicklerkonsole bereits aktiviert? – KENdi

+0

Hi @KENdi, yeah Ich habe die API mit Kakaoschoten wie beim Schnellstart installiert. Der Schnellstart konnte erfolgreich ausgeführt werden, aber die Dokumentation scheint in Bezug auf diese neue Erstellungsmethode ein wenig dünn zu sein. Ich hätte gedacht, dass es ähnlich der GData API wäre, um ein neues Blatt zu erstellen, wo Sie nur den Blattnamen angeben müssen und der Methodenaufruf ist 'fetchEntryByInsertingEntry:' – LurgenB

+1

ok @KENdi nachdem ich Ihren Kommentar erneut gelesen habe, erkenne ich meinen Fehler. Nein, ich habe die API nicht in der Entwicklerkonsole aktiviert. Seltsam, weil der Schnellstart davon nichts zu sagen hat, dass er es automatisch macht. Jedenfalls funktioniert mein Code nach der Aktivierung erfolgreich. Vielen Dank, ich hätte das selbst herausfinden sollen. – LurgenB

Antwort

1

Aktivieren Sie die Google Tabellen-API in Ihrer Entwicklerkonsole