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
(Tcl) Calendar: Refresh Expired OAuth2 Access TokenRefreshes an expired OAuth2 access token.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set json [new_CkJsonObject] set success [CkJsonObject_LoadFile $json "qa_data/tokens/msGraphCalendar.json"] if {$success != 1} then { delete_CkJsonObject $json exit } set req [new_CkHttpRequest] CkHttpRequest_AddParam $req "grant_type" "refresh_token" CkHttpRequest_AddParam $req "redirect_uri" "http://localhost:3017/" CkHttpRequest_AddParam $req "client_id" "MICROSOFT-GRAPH-CLIENT-ID" CkHttpRequest_AddParam $req "client_secret" "MICROSOFT-GRAPH-CLIENT-SECRET" CkHttpRequest_AddParam $req "refresh_token" [CkJsonObject_stringOf $json "refresh_token"] CkHttpRequest_AddParam $req "scope" "openid profile offline_access user.readwrite calendars.readwrite files.readwrite" set http [new_CkHttp] # resp is a CkHttpResponse set resp [CkHttp_PostUrlEncoded $http "https://login.microsoftonline.com/common/oauth2/v2.0/token" $req] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkJsonObject $json delete_CkHttpRequest $req delete_CkHttp $http exit } # Load the JSON response. CkJsonObject_Load $json [CkHttpResponse_bodyStr $resp] CkJsonObject_put_EmitCompact $json 0 # Show the JSON response. puts [CkJsonObject_emit $json] puts "Response status code: [CkHttpResponse_get_StatusCode $resp]" # If the response status code is not 200, then it's an error. if {[CkHttpResponse_get_StatusCode $resp] != 200} then { delete_CkJsonObject $json delete_CkHttpRequest $req delete_CkHttp $http exit } delete_CkHttpResponse $resp # Save the refreshed access token JSON to a file for future requests. set fac [new_CkFileAccess] CkFileAccess_WriteEntireTextFile $fac "qa_data/tokens/msGraphCalendar.json" [CkJsonObject_emit $json] "utf-8" 0 puts "Success." delete_CkJsonObject $json delete_CkHttpRequest $req delete_CkHttp $http delete_CkFileAccess $fac |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.