AutoIt
AutoIt
Download Object from Google Cloud Storage
See more Google Cloud Storage Examples
Demonstrates how to download an object from Google Cloud Storage to a file.Chilkat AutoIt Downloads
Local $bSuccess = False
; 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..
$oSbToken = ObjCreate("Chilkat.StringBuilder")
$oSbToken.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"
$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AuthToken = $oSbToken.GetAsString()
; Construct a URL to download an object named "starfish.jpg" from the "chilkat-ocean" bucket.
$oHttp.SetUrlVar("bucket_name","chilkat-ocean")
$oHttp.SetUrlVar("object_name","starfish.jpg")
Local $sUrl = "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..
$oFileData = ObjCreate("Chilkat.BinData")
$bSuccess = $oHttp.DownloadBd($sUrl,$oFileData)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oSbErrorResponse = ObjCreate("Chilkat.StringBuilder")
Local $iResponseCode = $oHttp.LastStatus
If ($iResponseCode = 401) Then
ConsoleWrite("If invalid credentials, then it is likely the access token expired." & @CRLF)
ConsoleWrite("Your app should automatically fetch a new access token and re-try." & @CRLF)
EndIf
If ($iResponseCode <> 200) Then
; Get the error response
$oSbErrorResponse.AppendBd($oFileData,"utf-8",0,0)
ConsoleWrite("Error response code = " & $iResponseCode & @CRLF)
ConsoleWrite("Error:" & @CRLF)
ConsoleWrite($oSbErrorResponse.GetAsString() & @CRLF)
Exit
EndIf
ConsoleWrite("Success." & @CRLF)
; Save the downloaded data to a file.
$bSuccess = $oFileData.WriteFile("qa_output/starfish.jpg")