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
(PHP ActiveX) Office365 IMAP with OAuth2 AuthenticationSee more Office365 ExamplesDemonstrates how to authenticate using OAuth2 with outlook.office365.com.
<?php // 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. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $jsonToken = new COM("Chilkat.JsonObject"); $success = $jsonToken->LoadFile('qa_data/tokens/office365.json'); if ($success == 0) { print 'Failed to open the office365 OAuth JSON file.' . "\n"; exit; } // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Imap') $imap = new COM("Chilkat.Imap"); $imap->Ssl = 1; $imap->Port = 993; // Connect to the Office365 IMAP server. $success = $imap->Connect('outlook.office365.com'); if ($success != 1) { print $imap->LastErrorText . "\n"; exit; } // Use OAuth2 authentication. $imap->AuthMethod = 'XOAUTH2'; // Login using our username (i.e. email address) and the access token for the password. $success = $imap->Login('OFFICE365_EMAIL_ADDRESS',$jsonToken->stringOf('access_token')); if ($success != 1) { print $imap->LastErrorText . "\n"; exit; } print 'O365 OAuth authentication is successful.' . "\n"; // Do something... $success = $imap->SelectMailbox('Inbox'); if ($success != 1) { print $imap->LastErrorText . "\n"; exit; } // Your application can continue to do other things in the IMAP session.... // When finished, logout and close the connection. $success = $imap->Logout(); $success = $imap->Disconnect(); print 'Finished.' . "\n"; ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.