|  | 
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
| (Delphi DLL) Office365 IMAP with OAuth2 AuthenticationSee more Office365 ExamplesDemonstrates how to authenticate using OAuth2 with outlook.office365.com.
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Imap, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var jsonToken: HCkJsonObject; success: Boolean; imap: HCkImap; begin // 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) then begin Memo1.Lines.Add('Failed to open the office365 OAuth JSON file.'); Exit; end; 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) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // 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) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; Memo1.Lines.Add('O365 OAuth authentication is successful.'); // Do something... success := CkImap_SelectMailbox(imap,'Inbox'); if (success <> True) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // 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); Memo1.Lines.Add('Finished.'); CkJsonObject_Dispose(jsonToken); CkImap_Dispose(imap); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.