AutoIt
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
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)