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
(PowerBuilder) 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
integer li_rc oleobject loo_Http oleobject loo_HtFolderMap oleobject loo_SbMap string ls_SrcFolderId string ls_DstFolderId oleobject loo_JsonRequestBody oleobject loo_Resp oleobject loo_JsonResponse // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") if li_rc < 0 then destroy loo_Http MessageBox("Error","Connecting to COM object failed") return end if // Use your previously obtained access token here: loo_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 loo_HtFolderMap = create oleobject // Use "Chilkat_9_5_0.Hashtable" for versions of Chilkat < 10.0.0 li_rc = loo_HtFolderMap.ConnectToNewObject("Chilkat.Hashtable") loo_SbMap = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbMap.ConnectToNewObject("Chilkat.StringBuilder") loo_SbMap.LoadFile("qa_data/outlook/folderMap.xml","utf-8") loo_HtFolderMap.AddFromXmlSb(loo_SbMap) // Get the IDs for the source and destination folders. ls_SrcFolderId = loo_HtFolderMap.LookupStr("/Inbox/abc/subFolderA") if loo_HtFolderMap.LastMethodSuccess <> 1 then Write-Debug "Folder ID not found" destroy loo_Http destroy loo_HtFolderMap destroy loo_SbMap return end if ls_DstFolderId = loo_HtFolderMap.LookupStr("/Inbox/xyz") if loo_HtFolderMap.LastMethodSuccess <> 1 then Write-Debug "Destination folder ID not found" destroy loo_Http destroy loo_HtFolderMap destroy loo_SbMap return end if // Create a JSON request body with this content: // // { // "DestinationId": "destinationId-value" // } loo_JsonRequestBody = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonRequestBody.ConnectToNewObject("Chilkat.JsonObject") loo_JsonRequestBody.UpdateString("DestinationId",ls_DstFolderId) loo_Http.SetUrlVar("src_folder_id",ls_SrcFolderId) // Copy the source folder to the new location loo_Resp = loo_Http.PostJson2("https://graph.microsoft.com/v1.0/me/mailFolders/{$src_folder_id}/copy","application/json",loo_JsonRequestBody.Emit()) if loo_Http.LastMethodSuccess <> 1 then Write-Debug loo_Http.LastErrorText destroy loo_Http destroy loo_HtFolderMap destroy loo_SbMap destroy loo_JsonRequestBody return end if // A 201 response indicates success. if loo_Resp.StatusCode = 201 then Write-Debug "Folder copied." else Write-Debug "Response status code = " + string(loo_Resp.StatusCode) Write-Debug "Error: Folder not copied." end if // Show the response in both cases.. loo_JsonResponse = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonResponse.ConnectToNewObject("Chilkat.JsonObject") loo_JsonResponse.EmitCompact = 0 loo_JsonResponse.Load(loo_Resp.BodyStr) Write-Debug loo_JsonResponse.Emit() destroy loo_Resp // 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 // } destroy loo_Http destroy loo_HtFolderMap destroy loo_SbMap destroy loo_JsonRequestBody destroy loo_JsonResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.