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
(Visual FoxPro) batchGet (Read Multiple Ranges)Reads multiple ranges from a Google Sheets spreadsheet in one GET request.
LOCAL loJsonToken LOCAL lnSuccess LOCAL loReq LOCAL loHttp LOCAL loResp LOCAL loJson LOCAL i LOCAL lnCount_i LOCAL j LOCAL lnCount_j LOCAL k LOCAL lnCount_k LOCAL lcSpreadsheetId LOCAL lcRange LOCAL lcMajorDimension LOCAL lcStrVal * 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.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonToken = CreateObject('Chilkat.JsonObject') lnSuccess = loJsonToken.LoadFile("qa_data/tokens/googleSheets.json") IF (loJsonToken.HasMember("access_token") = 0) THEN ? "No access token found." RELEASE loJsonToken CANCEL ENDIF * We'll be sending a GET request with query params to this URL: https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values:batchGet?ranges=Sheet1!A1:A2&ranges=Sheet1!B1:B2 * The domain is "sheets.googleapis.com" * The path is "/v4/spreadsheets/spreadsheetId/values:batchGet" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest') loReq = CreateObject('Chilkat.HttpRequest') loReq.Path = "/v4/spreadsheets/spreadsheetId/values:batchGet" loReq.HttpVerb = "GET" * Add each range to fetch. loReq.AddParam("ranges","Sheet1!A1:A2") loReq.AddParam("ranges","Sheet1!B1:B2") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') loHttp.AuthToken = loJsonToken.StringOf("access_token") * 443 is the SSL/TLS port for HTTPS. loResp = loHttp.SynchronousRequest("sheets.googleapis.com",443,1,loReq) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loJsonToken RELEASE loReq RELEASE loHttp CANCEL ENDIF ? loResp.BodyStr * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.Load(loResp.BodyStr) RELEASE loResp * A sample response is shown below. * To generate the parsing source code for a JSON response, paste * the JSON into this online tool: Generate JSON parsing code * { * "spreadsheetId": "1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA", * "valueRanges": [ * { * "range": "Sheet1!A1:A2", * "majorDimension": "ROWS", * "values": [ * [ * "Item" * ], * [ * "Wheel" * ] * ] * }, * { * "range": "Sheet1!B1:B2", * "majorDimension": "ROWS", * "values": [ * [ * "Cost" * ], * [ * "$20.50" * ] * ] * } * ] * } lcSpreadsheetId = loJson.StringOf("spreadsheetId") i = 0 lnCount_i = loJson.SizeOfArray("valueRanges") DO WHILE i < lnCount_i loJson.I = i lcRange = loJson.StringOf("valueRanges[i].range") lcMajorDimension = loJson.StringOf("valueRanges[i].majorDimension") j = 0 lnCount_j = loJson.SizeOfArray("valueRanges[i].values") DO WHILE j < lnCount_j loJson.J = j k = 0 lnCount_k = loJson.SizeOfArray("valueRanges[i].values[j]") DO WHILE k < lnCount_k loJson.K = k lcStrVal = loJson.StringOf("valueRanges[i].values[j][k]") k = k + 1 ENDDO j = j + 1 ENDDO i = i + 1 ENDDO RELEASE loJsonToken RELEASE loReq RELEASE loHttp RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.