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) Office365 IMAP with OAuth2 AuthenticationSee more Office365 ExamplesDemonstrates how to authenticate using OAuth2 with outlook.office365.com.
load ./chilkat.dll # An Office365 OAuth2 access token must first be obtained prior # to running this code. # Getting the OAuth2 access token for the 1st time requires the O365 account owner's # interactive authorizaition via a web browser. Afterwards, the access token # can be repeatedly refreshed automatically. # See the following examples for getting and refreshing an OAuth2 access token # Get Office365 SMTP/IMAP/POP3 OAuth2 Access Token # Refresh Office365 SMTP/IMAP/POP3 OAuth2 Access Token # First get our previously obtained OAuth2 access token. set jsonToken [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/office365.json"] if {$success == 0} then { puts "Failed to open the office365 OAuth JSON file." delete_CkJsonObject $jsonToken exit } set imap [new_CkImap] CkImap_put_Ssl $imap 1 CkImap_put_Port $imap 993 # Connect to the Office365 IMAP server. set success [CkImap_Connect $imap "outlook.office365.com"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkJsonObject $jsonToken delete_CkImap $imap exit } # Use OAuth2 authentication. CkImap_put_AuthMethod $imap "XOAUTH2" # Login using our username (i.e. email address) and the access token for the password. set success [CkImap_Login $imap "OFFICE365_EMAIL_ADDRESS" [CkJsonObject_stringOf $jsonToken "access_token"]] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkJsonObject $jsonToken delete_CkImap $imap exit } puts "O365 OAuth authentication is successful." # Do something... set success [CkImap_SelectMailbox $imap "Inbox"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkJsonObject $jsonToken delete_CkImap $imap exit } # Your application can continue to do other things in the IMAP session.... # When finished, logout and close the connection. set success [CkImap_Logout $imap] set success [CkImap_Disconnect $imap] puts "Finished." delete_CkJsonObject $jsonToken delete_CkImap $imap |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.