![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Get Google API Access Token using P12 Service Account KeyDemonstrates how to get a Google API access token using a P12 service account key.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # -------------------------------------------------------------------------------- # For a step-by-step guide for setting up your Google Workspace service account, # see Setup Google Workspace Account for Sending SMTP GMail from a Service Account # -------------------------------------------------------------------------------- # First load the PKCS12 (.p12 / .pfx) into a PFX object. set pfx [new_CkPfx] set success [CkPfx_LoadPfxFile $pfx "qa_data/pfx/chilkat25-cbd7b42afbd8.p12" "notasecret"] if {$success != 1} then { puts [CkPfx_lastErrorText $pfx] delete_CkPfx $pfx exit } set gAuth [new_CkAuthGoogle] set success [CkAuthGoogle_SetP12 $gAuth $pfx] # The ISS is your service account email address ending in gserviceaccount.com. set iss "chilkatsvc@chilkat25.iam.gserviceaccount.com" # The scope is always the following string: set scope "https://mail.google.com/" # The sub is your company email address set oauth_sub "info@chilkat.xyz" # The access token is valid for this number of seconds. set numSec 3600 CkAuthGoogle_put_EmailAddress $gAuth $iss CkAuthGoogle_put_Scope $gAuth $scope CkAuthGoogle_put_ExpireNumSeconds $gAuth $numSec CkAuthGoogle_put_SubEmailAddress $gAuth $oauth_sub # Connect to www.googleapis.com set tlsSock [new_CkSocket] set success [CkSocket_Connect $tlsSock "www.googleapis.com" 443 1 5000] if {$success != 1} then { puts [CkSocket_lastErrorText $tlsSock] delete_CkPfx $pfx delete_CkAuthGoogle $gAuth delete_CkSocket $tlsSock exit } # Send the request to obtain the access token. set success [CkAuthGoogle_ObtainAccessToken $gAuth $tlsSock] if {$success != 1} then { puts [CkAuthGoogle_lastErrorText $gAuth] delete_CkPfx $pfx delete_CkAuthGoogle $gAuth delete_CkSocket $tlsSock exit } # Examine the access token: puts "Access Token: [CkAuthGoogle_accessToken $gAuth]" delete_CkPfx $pfx delete_CkAuthGoogle $gAuth delete_CkSocket $tlsSock |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.