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
(DataFlex) 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
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Handle hoHtFolderMap Variant vSbMap Handle hoSbMap Boolean iSuccess String sSrcFolderId String sDstFolderId Handle hoJsonRequestBody Variant vResp Handle hoResp Handle hoJsonResponse String sTemp1 Integer iTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Use your previously obtained access token here: Set ComAuthToken Of hoHttp To "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 Get Create (RefClass(cComChilkatHashtable)) To hoHtFolderMap If (Not(IsComObjectCreated(hoHtFolderMap))) Begin Send CreateComObject of hoHtFolderMap End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbMap If (Not(IsComObjectCreated(hoSbMap))) Begin Send CreateComObject of hoSbMap End Get ComLoadFile Of hoSbMap "qa_data/outlook/folderMap.xml" "utf-8" To iSuccess Get pvComObject of hoSbMap to vSbMap Get ComAddFromXmlSb Of hoHtFolderMap vSbMap To iSuccess // Get the IDs for the source and destination folders. Get ComLookupStr Of hoHtFolderMap "/Inbox/abc/subFolderA" To sSrcFolderId Get ComLastMethodSuccess Of hoHtFolderMap To bTemp1 If (bTemp1 <> True) Begin Showln "Folder ID not found" Procedure_Return End Get ComLookupStr Of hoHtFolderMap "/Inbox/xyz" To sDstFolderId Get ComLastMethodSuccess Of hoHtFolderMap To bTemp1 If (bTemp1 <> True) Begin Showln "Destination folder ID not found" Procedure_Return End // Create a JSON request body with this content: // // { // "DestinationId": "destinationId-value" // } Get Create (RefClass(cComChilkatJsonObject)) To hoJsonRequestBody If (Not(IsComObjectCreated(hoJsonRequestBody))) Begin Send CreateComObject of hoJsonRequestBody End Get ComUpdateString Of hoJsonRequestBody "DestinationId" sDstFolderId To iSuccess Get ComSetUrlVar Of hoHttp "src_folder_id" sSrcFolderId To iSuccess // Copy the source folder to the new location Get ComEmit Of hoJsonRequestBody To sTemp1 Get ComPostJson2 Of hoHttp "https://graph.microsoft.com/v1.0/me/mailFolders/{$src_folder_id}/copy" "application/json" sTemp1 To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // A 201 response indicates success. Get ComStatusCode Of hoResp To iTemp1 If (iTemp1 = 201) Begin Showln "Folder copied." End Else Begin Get ComStatusCode Of hoResp To iTemp1 Showln "Response status code = " iTemp1 Showln "Error: Folder not copied." End // Show the response in both cases.. Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResponse If (Not(IsComObjectCreated(hoJsonResponse))) Begin Send CreateComObject of hoJsonResponse End Set ComEmitCompact Of hoJsonResponse To False Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJsonResponse sTemp1 To iSuccess Get ComEmit Of hoJsonResponse To sTemp1 Showln sTemp1 Send Destroy of hoResp // 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 // } End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.