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
(Classic ASP) Outlook -- List Mail FoldersSee more Outlook ExamplesUses the Microsoft Graph API to list Outlook mail folders. Note: This example requires Chilkat v9.5.0.67 or greater. This example applies to: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com For more information, see https://docs.microsoft.com/en-us/graph/api/user-list-mailfolders?view=graph-rest-1.0&tabs=http
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Http") set http = Server.CreateObject("Chilkat.Http") ' Use your previously obtained access token here: ' See the following examples for getting an access token: ' Get Microsoft Graph OAuth2 Access Token (Azure AD v2.0 Endpoint). ' Get Microsoft Graph OAuth2 Access Token (Azure AD Endpoint). ' Refresh Access Token (Azure AD v2.0 Endpoint). ' Refresh Access Token (Azure AD Endpoint). http.AuthToken = "MICROSOFT_GRAPH_ACCESS_TOKEN" ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbResponse = Server.CreateObject("Chilkat.StringBuilder") ' Sends: GET /users/{id | userPrincipalName}/mailFolders ' Note: It is also possible to use the literal string "me" for the current logged-on user. ' For example: GET /me/mailFolders http.ClearUrlVars success = http.SetUrlVar("userPrincipalName","chilkatsoft@outlook.com") success = http.QuickGetSb("https://graph.microsoft.com/v1.0/users/{$userPrincipalName}/mailFolders",sbResponse) If ((success <> 1) And (http.LastStatus = 0)) Then Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>" Response.End End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") success = json.LoadSb(sbResponse) json.EmitCompact = 0 Response.Write "<pre>" & Server.HTMLEncode( "Status code = " & http.LastStatus) & "</pre>" If (http.LastStatus <> 200) Then Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>" End If Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "----") & "</pre>" ' In my test case, this is the result (see below) ' Apparently, this lists folders without listing subfolders (aka child folders) ' There's another REST API call to list child folders. ' To iterate over the folders: i = 0 numFolders = json.SizeOfArray("value") Do While i < numFolders json.I = i Response.Write "<pre>" & Server.HTMLEncode( json.StringOf("value[i].displayName")) & "</pre>" i = i + 1 Loop ' The output from the above loop: ' Archive ' Deleted Items ' Drafts ' Inbox ' Junk Email ' Outbox ' Sent Items ' ------------------------------------------------------------------------------------ ' The raw JSON response: ' { ' "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('chilkatsoft%40outlook.com')/mailFolders", ' "value": [ ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAG8XunwAAAA=", ' "displayName": "Archive", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEKAAAA", ' "displayName": "Deleted Items", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEPAAAA", ' "displayName": "Drafts", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA", ' "displayName": "Inbox", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 2, ' "unreadItemCount": 0, ' "totalItemCount": 4 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEiAAAA", ' "displayName": "Junk Email", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgELAAAA", ' "displayName": "Outbox", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' }, ' { ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEJAAAA", ' "displayName": "Sent Items", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEIAAAA", ' "childFolderCount": 0, ' "unreadItemCount": 0, ' "totalItemCount": 14 ' } ' ] ' } ' ' ------------------------------------------------------------------------------------------------------ ' This example applies to: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com ' ' The Microsoft Graph Outlook Mail API lets you read, create, and send messages and attachments, ' view and respond to event messages, and manage folders that are secured by Azure Active Directory ' in Office 365. It also provides the same functionality in Microsoft accounts specifically ' in these domains: Hotmail.com, Live.com, MSN.com, Outlook.com, and Passport.com. %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.