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
(PowerBuilder) Download Object from Google Cloud StorageDemonstrates how to download an object from Google Cloud Storage to a file.
integer li_rc oleobject loo_SbToken oleobject loo_Http string ls_Url oleobject loo_FileData integer li_Success oleobject loo_SbErrorResponse integer li_ResponseCode // 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 // scope "https://www.googleapis.com/auth/cloud-platform" // In this example, Get Google Cloud Storage OAuth2 Access Token, // the service account access token was saved to a text file. This example fetches the access token from the file.. loo_SbToken = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbToken.ConnectToNewObject("Chilkat.StringBuilder") if li_rc < 0 then destroy loo_SbToken MessageBox("Error","Connecting to COM object failed") return end if loo_SbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt","utf-8") // Send a GET equivalent to this curl command. // curl -X GET \ // -H "Authorization: Bearer [OAUTH2_TOKEN]" \ // -o "[SAVE_TO_LOCATION]" \ // "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media" loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") loo_Http.AuthToken = loo_SbToken.GetAsString() // Construct a URL to download an object named "starfish.jpg" from the "chilkat-ocean" bucket. loo_Http.SetUrlVar("bucket_name","chilkat-ocean") loo_Http.SetUrlVar("object_name","starfish.jpg") ls_Url = "https://www.googleapis.com/storage/v1/b/{$bucket_name}/o/{$object_name}?alt=media" // If there is an error response, then we didn't actually download the file data, // but instead we downloaded an error response.. loo_FileData = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_FileData.ConnectToNewObject("Chilkat.BinData") li_Success = loo_Http.DownloadBd(ls_Url,loo_FileData) if li_Success = 0 then Write-Debug loo_Http.LastErrorText destroy loo_SbToken destroy loo_Http destroy loo_FileData return end if loo_SbErrorResponse = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbErrorResponse.ConnectToNewObject("Chilkat.StringBuilder") li_ResponseCode = loo_Http.LastStatus if li_ResponseCode = 401 then Write-Debug "If invalid credentials, then it is likely the access token expired." Write-Debug "Your app should automatically fetch a new access token and re-try." end if if li_ResponseCode <> 200 then // Get the error response loo_SbErrorResponse.AppendBd(loo_FileData,"utf-8",0,0) Write-Debug "Error response code = " + string(li_ResponseCode) Write-Debug "Error:" Write-Debug loo_SbErrorResponse.GetAsString() destroy loo_SbToken destroy loo_Http destroy loo_FileData destroy loo_SbErrorResponse return end if Write-Debug "Success." // Save the downloaded data to a file. li_Success = loo_FileData.WriteFile("qa_output/starfish.jpg") destroy loo_SbToken destroy loo_Http destroy loo_FileData destroy loo_SbErrorResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.