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) Download Text File to a String VariableThis example demonstrates how to download the content of a text file from Google Drive into a string variable.
LOCAL lnSuccess LOCAL loGAuth LOCAL loRest LOCAL lnBAutoReconnect LOCAL loGdCache LOCAL lcFileId LOCAL loSbPath LOCAL lcFileContent lnSuccess = 1 * It 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 Drive scope. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.AuthGoogle') loGAuth = CreateObject('Chilkat.AuthGoogle') loGAuth.AccessToken = "GOOGLE-DRIVE-ACCESS-TOKEN" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('Chilkat.Rest') * Connect using TLS. * A single REST object, once connected, can be used for many Google Drive REST API calls. * The auto-reconnect indicates that if the already-established HTTPS connection is closed, * then it will be automatically re-established as needed. lnBAutoReconnect = 1 lnSuccess = loRest.Connect("www.googleapis.com",443,1,lnBAutoReconnect) * Provide the authentication credentials (i.e. the access token) loRest.SetAuthGoogle(loGAuth) * ------------------------------------------------------------------------------ * To download a file, we must know the file ID. * In a previous example (see Build Local Metadata Cache * we built a local cache to make it easy to lookup file IDs given a file path. * Let's say we want to download "testFolder/abc/123/pigs.json". * First we lookup the fileId in the cache. With the fileId, we can download the file. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cache') loGdCache = CreateObject('Chilkat.Cache') loGdCache.Level = 0 loGdCache.AddRoot("C:/ckCache/googleDrive") lcFileId = loGdCache.FetchText("testFolder/abc/123/pigs.json") IF (loGdCache.LastMethodSuccess <> 1) THEN ? "Filepath not found in cache." RELEASE loGAuth RELEASE loRest RELEASE loGdCache CANCEL ENDIF * We need to send a GET request like this: * GET https://www.googleapis.com/drive/v3/files/fileId?alt=media * The fileId is part of the path. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbPath = CreateObject('Chilkat.StringBuilder') loSbPath.Append("/drive/v3/files/") loSbPath.Append(lcFileId) loRest.AddQueryParam("alt","media") * The FullRequestNoBody returns the file content in the response body. lcFileContent = loRest.FullRequestNoBody("GET",loSbPath.GetAsString()) IF (loRest.LastMethodSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loGAuth RELEASE loRest RELEASE loGdCache RELEASE loSbPath CANCEL ENDIF * A successful response will have a status code equal to 200. IF (loRest.ResponseStatusCode <> 200) THEN ? "response status code = " + STR(loRest.ResponseStatusCode) ? "response status text = " + loRest.ResponseStatusText ? "response header: " + loRest.ResponseHeader RELEASE loGAuth RELEASE loRest RELEASE loGdCache RELEASE loSbPath CANCEL ENDIF ? lcFileContent ? "File downloaded." RELEASE loGAuth RELEASE loRest RELEASE loGdCache RELEASE loSbPath |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.