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
(Ruby) 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
require 'chilkat' # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # Use your previously obtained access token here: http.put_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 htFolderMap = Chilkat::CkHashtable.new() sbMap = Chilkat::CkStringBuilder.new() sbMap.LoadFile("qa_data/outlook/folderMap.xml","utf-8") htFolderMap.AddFromXmlSb(sbMap) # Get the IDs for the source and destination folders. srcFolderId = htFolderMap.lookupStr("/Inbox/abc/subFolderA") if (htFolderMap.get_LastMethodSuccess() != true) print "Folder ID not found" + "\n"; exit end dstFolderId = htFolderMap.lookupStr("/Inbox/xyz") if (htFolderMap.get_LastMethodSuccess() != true) print "Destination folder ID not found" + "\n"; exit end # Create a JSON request body with this content: # # { # "DestinationId": "destinationId-value" # } jsonRequestBody = Chilkat::CkJsonObject.new() jsonRequestBody.UpdateString("DestinationId",dstFolderId) http.SetUrlVar("src_folder_id",srcFolderId) # Copy the source folder to the new location # resp is a CkHttpResponse resp = http.PostJson2("https://graph.microsoft.com/v1.0/me/mailFolders/{$src_folder_id}/copy","application/json",jsonRequestBody.emit()) if (http.get_LastMethodSuccess() != true) print http.lastErrorText() + "\n"; exit end # A 201 response indicates success. if (resp.get_StatusCode() == 201) print "Folder copied." + "\n"; else print "Response status code = " + resp.get_StatusCode().to_s() + "\n"; print "Error: Folder not copied." + "\n"; end # Show the response in both cases.. jsonResponse = Chilkat::CkJsonObject.new() jsonResponse.put_EmitCompact(false) jsonResponse.Load(resp.bodyStr()) print jsonResponse.emit() + "\n"; # 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-2024 Chilkat Software, Inc. All Rights Reserved.