Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) Office365 IMAP with OAuth2 AuthenticationDemonstrates how to authenticate using OAuth2 with outlook.office365.com.
' 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. Dim jsonToken As New Chilkat.JsonObject Dim success As Boolean = jsonToken.LoadFile("qa_data/tokens/office365.json") If (success = False) Then Debug.WriteLine("Failed to open the office365 OAuth JSON file.") Exit Sub End If Dim imap As New Chilkat.Imap imap.Ssl = True imap.Port = 993 ' Connect to the Office365 IMAP server. success = Await imap.ConnectAsync("outlook.office365.com") If (success <> True) Then Debug.WriteLine(imap.LastErrorText) Exit Sub End If ' Use OAut2 authentication. imap.AuthMethod = "XOAUTH2" ' Login using our username (i.e. email address) and the access token for the password. success = Await imap.LoginAsync("OFFICE365_EMAIL_ADDRESS",jsonToken.StringOf("access_token")) If (success <> True) Then Debug.WriteLine(imap.LastErrorText) Exit Sub End If Debug.WriteLine("O365 OAuth authentication is successful.") ' Do something... success = Await imap.SelectMailboxAsync("Inbox") If (success <> True) Then Debug.WriteLine(imap.LastErrorText) Exit Sub End If ' Your application can continue to do other things in the IMAP session.... ' When finished, logout and close the connection. success = Await imap.LogoutAsync() success = Await imap.DisconnectAsync() Debug.WriteLine("Finished.") |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.