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
(Visual FoxPro) 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
LOCAL loHttp LOCAL loHtFolderMap LOCAL loSbMap LOCAL lcSrcFolderId LOCAL lcDstFolderId LOCAL loJsonRequestBody LOCAL loResp LOCAL loJsonResponse * 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') loHttp = CreateObject('Chilkat.Http') * Use your previously obtained access token here: loHttp.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 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Hashtable') loHtFolderMap = CreateObject('Chilkat.Hashtable') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbMap = CreateObject('Chilkat.StringBuilder') loSbMap.LoadFile("qa_data/outlook/folderMap.xml","utf-8") loHtFolderMap.AddFromXmlSb(loSbMap) * Get the IDs for the source and destination folders. lcSrcFolderId = loHtFolderMap.LookupStr("/Inbox/abc/subFolderA") IF (loHtFolderMap.LastMethodSuccess <> 1) THEN ? "Folder ID not found" RELEASE loHttp RELEASE loHtFolderMap RELEASE loSbMap CANCEL ENDIF lcDstFolderId = loHtFolderMap.LookupStr("/Inbox/xyz") IF (loHtFolderMap.LastMethodSuccess <> 1) THEN ? "Destination folder ID not found" RELEASE loHttp RELEASE loHtFolderMap RELEASE loSbMap CANCEL ENDIF * Create a JSON request body with this content: * * { * "DestinationId": "destinationId-value" * } * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonRequestBody = CreateObject('Chilkat.JsonObject') loJsonRequestBody.UpdateString("DestinationId",lcDstFolderId) loHttp.SetUrlVar("src_folder_id",lcSrcFolderId) * Copy the source folder to the new location loResp = loHttp.PostJson2("https://graph.microsoft.com/v1.0/me/mailFolders/{$src_folder_id}/copy","application/json",loJsonRequestBody.Emit()) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loHtFolderMap RELEASE loSbMap RELEASE loJsonRequestBody CANCEL ENDIF * A 201 response indicates success. IF (loResp.StatusCode = 201) THEN ? "Folder copied." ELSE ? "Response status code = " + STR(loResp.StatusCode) ? "Error: Folder not copied." ENDIF * Show the response in both cases.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonResponse = CreateObject('Chilkat.JsonObject') loJsonResponse.EmitCompact = 0 loJsonResponse.Load(loResp.BodyStr) ? loJsonResponse.Emit() RELEASE loResp * 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 * } RELEASE loHttp RELEASE loHtFolderMap RELEASE loSbMap RELEASE loJsonRequestBody RELEASE loJsonResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.