Sample code for 30+ languages & platforms
AutoIt

Google Drive Refresh Access Token

See more Google Drive Examples

Demonstrates how to automatically refresh the access token when it expires.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$bSuccess = True

; This example uses a previously obtained access token having permission for the 
; Google Drive scope.

; The access token (and refresh token) was previously saved to a JSON file with this format:
; See Get Google Drive OAuth2 Access Token

; {
;   "access_token": "ya29.Gls-BsdxTWuenChv ... yzVIrXikkLxu5T6dy4I6GjADFardoz4Lruw",
;   "expires_in": 3600,
;   "refresh_token": "1/tMBJ ... 27D-Hk6rpQYBA",
;   "scope": "https://www.googleapis.com/auth/drive",
;   "token_type": "Bearer"
; }

$oJson = ObjCreate("Chilkat.JsonObject")
Local $sTokenFilePath = "qa_data/tokens/googleDrive.json"
$oJson.LoadFile($sTokenFilePath)

$oOauth2 = ObjCreate("Chilkat.OAuth2")
$oOauth2.AccessToken = $oJson.StringOf("access_token")
$oOauth2.RefreshToken = $oJson.StringOf("refresh_token")

$oOauth2.AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth"
$oOauth2.TokenEndpoint = "https://www.googleapis.com/oauth2/v4/token"

;  Replace these with actual values.
$oOauth2.ClientId = "GOOGLE-CLIENT-ID"
$oOauth2.ClientSecret = "GOOGLE-CLIENT-SECRET"
$oOauth2.Scope = "https://www.googleapis.com/auth/drive"

; Use OAuth2 to refresh the access token.
$bSuccess = $oOauth2.RefreshAccessToken()
If ($bSuccess <> True) Then
    ConsoleWrite($oOauth2.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite($oOauth2.AccessTokenResponse & @CRLF)

; Save the new access token to our JSON file (so we can refresh it again when needed).
$oJson.UpdateString("access_token",$oOauth2.AccessToken)

$oFac = ObjCreate("Chilkat.FileAccess")
$oFac.WriteEntireTextFile($sTokenFilePath,$oJson.Emit(),"utf-8",False)

ConsoleWrite("Access Token Refreshed!" & @CRLF)