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
(Excel) Outlook -- Copy Mail Folder and Contents to another Mail FolderCopy a mailfolder and its contents to another mailfolder. Note: This example requires Chilkat v9.5.0.68 or greater. This example applies to: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp ' Use your previously obtained access token here: http.AuthToken = "MICROSOFT_GRAPH_ACCESS_TOKEN" ' This example will copy /Inbox/abc/subFolderA and its contents to /Inbox/xyz ' We'll need the folder ids for both source and destination folders.. ' Get the folder IDs from the folder map created by this example Dim htFolderMap As Chilkat.Hashtable Set htFolderMap = Chilkat.NewHashtable Dim sbMap As Chilkat.StringBuilder Set sbMap = Chilkat.NewStringBuilder Dim success As Boolean success = sbMap.LoadFile("qa_data/outlook/folderMap.xml","utf-8") success = htFolderMap.AddFromXmlSb(sbMap) ' Get the IDs for the source and destination folders. srcFolderId = htFolderMap.LookupStr("/Inbox/abc/subFolderA") If (htFolderMap.LastMethodSuccess <> True) Then Debug.Print "Folder ID not found" Exit Sub End If dstFolderId = htFolderMap.LookupStr("/Inbox/xyz") If (htFolderMap.LastMethodSuccess <> True) Then Debug.Print "Destination folder ID not found" Exit Sub End If ' Create a JSON request body with this content: ' ' { ' "DestinationId": "destinationId-value" ' } Dim jsonRequestBody As Chilkat.JsonObject Set jsonRequestBody = Chilkat.NewJsonObject success = jsonRequestBody.UpdateString("DestinationId",dstFolderId) success = http.SetUrlVar("src_folder_id",srcFolderId) ' Copy the source folder to the new location Set resp = http.PostJson2("https://graph.microsoft.com/v1.0/me/mailFolders/{$src_folder_id}/copy","application/json",jsonRequestBody.Emit()) If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If ' A 201 response indicates success. If (resp.StatusCode = 201) Then Debug.Print "Folder copied." Else Debug.Print "Response status code = "; resp.StatusCode Debug.Print "Error: Folder not copied." End If ' Show the response in both cases.. Dim jsonResponse As Chilkat.JsonObject Set jsonResponse = Chilkat.NewJsonObject jsonResponse.EmitCompact = False success = jsonResponse.Load(resp.BodyStr) Debug.Print jsonResponse.Emit() ' A sample successful JSON response looks like this: ' { ' "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#mailFolder", ' "@odata.type": "#microsoft.graph.mailFolder", ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAM6JqMAAAAA=", ' "displayName": "subFolderA", ' "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAL8huwEAAAA=", ' "childFolderCount": 1, ' "unreadItemCount": 0, ' "totalItemCount": 0 ' } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.