2016-06-03 9 views
0

Es ist äußerst schwierig, die Google Sheets V4-Dokumentation den SDK-Methoden zuzuordnen. Zum Beispiel:Google Tabellen iOS - Kartendokumentation zu SDK

Um eine Zeile an eine Kalkulationstabelle anzufügen, die documentation states, dass es eine Anfrage Ressource, z.

"appendCells": { 
    object(AppendCellsRequest) 
    }, 

wo AppendCellsRequest ist

{ 
    "sheetId": number, 
    "rows": [ 
    { 
     object(RowData) 
    } 
    ], 
    "fields": string, 
} 

Allerdings, wenn ich das SDK verwenden, wie folgt:

let range = "Sheet1" 
    let url = String(format:"%@/%@/values/%@", baseUrl, spreadsheetId, range) 
    let params = ["valueInputOption":"RAW"] 
    let fullUrl = GTLUtilities.URLWithString(url, queryParameters: params) 

    let body = GTLObject() 

    body.JSON = [ "appendCells" : [ 
         "sheetId" : 0, 
         "rows" : [[value, value, value, value]], 
         "fields" : "*" 
        ]] 

    driveService.fetchObjectByUpdatingObject(body, forURL: fullUrl, completionHandler: { 
      (ticket:GTLServiceTicket!, object:AnyObject!, error:NSError!) in 

    }) 

Dieser schlägt mit einem Fehler:

"Invalid JSON payload received. Unknown name "append_cells" at 'data': Cannot find field." 
+0

Ein ähnliches Problem wurde in diesem [post] (https://groups.google.com/forum/#!msg/my-business-api/TUZGZiRIb3U/8EthBEQ5AgAJ) gefunden. Es wurde vorgeschlagen, die Syntax der [JSON-Darstellung] (https://developers.google.com/my-business/reference/rest/v2/accounts.locations/patch#request-body) in Ihrem Anfragetext sicherzustellen Daten sind korrekt und die Feldwerte, die Sie in Ihrer [PATCH-Anfrage] (https://developers.google.com/my-business/reference/rest/v2/accounts.locations/patch) angeben, um einen Standort zu aktualisieren, sind korrekt. – abielita

Antwort

0

Sie scheinen zu sein die falsche URL aufrufen. Ihre URL ist so aufgebaut, wie:

let url = String(format:"%@/%@/values/%@", baseUrl, spreadsheetId, range)

, die in Folge hat:

http://sheets.googleapis.com/spreadsheets/{spreadsheet_id}/values/{range}

... aber Sie versuchen, das AppendCellsRequest Objekt zu verwenden, die nicht von den Werten unterstützt wird Sammlung. Jedes Request-Objekt in Ihrem Link beschreibt ein Objekt, das in den request body eines BatchUpdate-Aufrufs gehört. Weitere Informationen finden Sie im Handbuch Updating Spreadsheets.