Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Google Sheets - Append Values to an Existing SpreadsheetAppends values to an existing Google spreadsheet.
#import <CkoJsonObject.h> #import <CkoHttp.h> #import <CkoHttpResponse.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example uses a previously obtained access token having permission for the // Google Sheets scope. // In this example, Get Google Sheets OAuth2 Access Token, the access // token was saved to a JSON file. This example fetches the access token from the file.. CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init]; BOOL success = [jsonToken LoadFile: @"qa_data/tokens/googleSheets.json"]; if ([jsonToken HasMember: @"access_token"] == NO) { NSLog(@"%@",@"No access token found."); return; } CkoHttp *http = [[CkoHttp alloc] init]; http.AuthToken = [jsonToken StringOf: @"access_token"]; // To append values to an existing spreadsheet, our HTTP request body will // contain JSON in the format of a "ValueRange". For example, the spreadsheet we'll be // adding to in this example looks like this: // // The JSON ValueRange for the cells in the above spreadsheet is: // { // "range": "Sheet1!A1:B5", // "majorDimension": "ROWS", // "values": [ // [ // "Item", // "Cost" // ], // [ // "Wheel", // "$20.50" // ], // [ // "Door", // "$15" // ], // [ // "Engine", // "$100" // ], // [ // "Totals", // "$135.50" // ] // ] // } // This example will append 6 cells (3 rows / 2 columns). // We'll be appending the following: // // "Paint", "$100" // "Brakes", "$100" // "New Total", "$335.50" // // The range of cells we'll be appending is A1:B5 // Therefore, the ValueRange JSON we'll be sending in our POST body is: // { // "range": "Sheet1!A1:B5", // "majorDimension": "ROWS", // "values": [ // [ // "Paint", // "$100" // ], // [ // "Brakes", // "$100" // ], // [ // "New Total", // "$335.50" // ] // ] // } CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json UpdateString: @"range" value: @"Sheet1!A1:B5"]; [json UpdateString: @"majorDimension" value: @"ROWS"]; json.I = [NSNumber numberWithInt:0]; json.J = [NSNumber numberWithInt:1]; [json UpdateString: @"values[i][j]" value: @"Paint"]; json.J = [NSNumber numberWithInt:1]; [json UpdateString: @"values[i][j]" value: @"$100"]; json.I = [NSNumber numberWithInt:1]; json.J = [NSNumber numberWithInt:0]; [json UpdateString: @"values[i][j]" value: @"Brakes"]; json.J = [NSNumber numberWithInt:1]; [json UpdateString: @"values[i][j]" value: @"$100"]; json.I = [NSNumber numberWithInt:2]; json.J = [NSNumber numberWithInt:0]; [json UpdateString: @"values[i][j]" value: @"Totals"]; json.J = [NSNumber numberWithInt:1]; [json UpdateString: @"values[i][j]" value: @"$335.50"]; json.EmitCompact = NO; NSLog(@"%@",[json Emit]); // Send the POST to: // https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED [http SetUrlVar: @"spreadsheetId" value: @"1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA"]; [http SetUrlVar: @"range" value: @"Sheet1!A1:B5"]; CkoHttpResponse *resp = [http PostJson: @"https://sheets.googleapis.com/v4/spreadsheets/{$spreadsheetId}/values/{$range}:append?valueInputOption=USER_ENTERED" jsonText: [json Emit]]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); return; } NSLog(@"%@%d",@"response status code = ",[resp.StatusCode intValue]); NSLog(@"%@%@",@"response JSON = ",resp.BodyStr); // Sample output: // // response status code = 200 // response JSON = { // "spreadsheetId": "1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA", // "tableRange": "Sheet1!A1:B5", // "updates": { // "spreadsheetId": "1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA", // "updatedRange": "Sheet1!A6:B8", // "updatedRows": 3, // "updatedColumns": 2, // "updatedCells": 6 // } // } // // Our Google Spreadsheet now looks like this: // |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.