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
(C) Office365 IMAP with OAuth2 AuthenticationSee more Office365 ExamplesDemonstrates how to authenticate using OAuth2 with outlook.office365.com.
#include <C_CkJsonObject.h> #include <C_CkImap.h> void ChilkatSample(void) { HCkJsonObject jsonToken; BOOL success; HCkImap imap; // 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. jsonToken = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jsonToken,"qa_data/tokens/office365.json"); if (success == FALSE) { printf("Failed to open the office365 OAuth JSON file.\n"); CkJsonObject_Dispose(jsonToken); return; } imap = CkImap_Create(); CkImap_putSsl(imap,TRUE); CkImap_putPort(imap,993); // Connect to the Office365 IMAP server. success = CkImap_Connect(imap,"outlook.office365.com"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkJsonObject_Dispose(jsonToken); CkImap_Dispose(imap); return; } // Use OAuth2 authentication. CkImap_putAuthMethod(imap,"XOAUTH2"); // Login using our username (i.e. email address) and the access token for the password. success = CkImap_Login(imap,"OFFICE365_EMAIL_ADDRESS",CkJsonObject_stringOf(jsonToken,"access_token")); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkJsonObject_Dispose(jsonToken); CkImap_Dispose(imap); return; } printf("O365 OAuth authentication is successful.\n"); // Do something... success = CkImap_SelectMailbox(imap,"Inbox"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkJsonObject_Dispose(jsonToken); CkImap_Dispose(imap); return; } // Your application can continue to do other things in the IMAP session.... // When finished, logout and close the connection. success = CkImap_Logout(imap); success = CkImap_Disconnect(imap); printf("Finished.\n"); CkJsonObject_Dispose(jsonToken); CkImap_Dispose(imap); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.