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
(MFC) Outlook -- Delete EmailDemonstrates how to delete email using the Microsoft Graph API. 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
#include <CkHttp.h> #include <CkHashtable.h> #include <CkStringBuilder.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; // Use your previously obtained access token here: http.put_AuthToken("MICROSOFT_GRAPH_ACCESS_TOKEN"); // This example will search /Inbox for a message we want to delete. // First we need to get the folder ID for /Inbox. // Then we'll search for messages based on some criteria, and delete the matching messages. // Get the folder ID for /Inbox from the folder map created by this example CkHashtable htFolderMap; CkStringBuilder sbMap; sbMap.LoadFile("qa_data/outlook/folderMap.xml","utf-8"); htFolderMap.AddFromXmlSb(sbMap); // Get the ID for the "/Inbox" folder: const char *folderId = htFolderMap.lookupStr("/Inbox"); if (htFolderMap.get_LastMethodSuccess() != true) { strOut.append("Folder ID not found"); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } bool success = true; CkJsonObject json; json.put_EmitCompact(false); // Search for emails in this folder with the phrase "Amazon SES" in the subject, and return only the id and subject. http.SetUrlVar("folder_id",folderId); http.SetUrlVar("select","id,subject"); http.SetUrlVar("filter","contains(subject,'Amazon SES')"); CkStringBuilder sbResponse; success = http.QuickGetSb("https://graph.microsoft.com/v1.0/me/mailFolders/{$folder_id}/messages?$filter={$filter}&$select={$select}",sbResponse); if (success != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } json.LoadSb(sbResponse); // Show the results.. strOut.append(json.emit()); strOut.append("\r\n"); // Sample results: // { // "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('me')/mailFolders('AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA')/messages(id,subject)", // "value": [ // { // "@odata.etag": "W/\"CQAAABYAAADn68XtMop0TpsYJGpfKXY9AAA1jyl6\"", // "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_AAAAA=", // "subject": "Amazon SES Address Verification Request in region US West (Oregon)" // }, // { // "@odata.etag": "W/\"CQAAABYAAADn68XtMop0TpsYJGpfKXY9AAA1jyl7\"", // "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_EAAAA=", // "subject": "Amazon SES Address Verification Request in region US West (Oregon)" // } // ] // } // // ------------ // Proceed to delete each of the above emails... const char *resp = 0; const char *messageId = 0; int i = 0; int numEmails = json.SizeOfArray("value"); while (i < numEmails) { json.put_I(i); messageId = json.stringOf("value[i].id"); http.SetUrlVar("message_id",messageId); strOut.append("Deleting "); strOut.append(messageId); strOut.append("\r\n"); resp = http.quickDeleteStr("https://graph.microsoft.com/v1.0/me/messages/{$message_id}"); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // A 204 response indicates success. if (http.get_LastStatus() == 204) { strOut.append("Message deleted."); strOut.append("\r\n"); } else { strOut.append("Message not deleted."); strOut.append("\r\n"); strOut.append(resp); strOut.append("\r\n"); } i = i + 1; } // Sample output: // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_AAAAA= // Message deleted. // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_EAAAA= // Message deleted. // SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.