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
(Objective-C) 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
#import <CkoHttp.h> #import <CkoHashtable.h> #import <CkoStringBuilder.h> #import <NSString.h> #import <CkoJsonObject.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; // Use your previously obtained access token here: http.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 CkoHashtable *htFolderMap = [[CkoHashtable alloc] init]; CkoStringBuilder *sbMap = [[CkoStringBuilder alloc] init]; [sbMap LoadFile: @"qa_data/outlook/folderMap.xml" charset: @"utf-8"]; [htFolderMap AddFromXmlSb: sbMap]; // Get the ID for the "/Inbox" folder: NSString *folderId = [htFolderMap LookupStr: @"/Inbox"]; if (htFolderMap.LastMethodSuccess != YES) { NSLog(@"%@",@"Folder ID not found"); return; } BOOL success = YES; CkoJsonObject *json = [[CkoJsonObject alloc] init]; json.EmitCompact = NO; // 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" value: folderId]; [http SetUrlVar: @"select" value: @"id,subject"]; [http SetUrlVar: @"filter" value: @"contains(subject,'Amazon SES')"]; CkoStringBuilder *sbResponse = [[CkoStringBuilder alloc] init]; success = [http QuickGetSb: @"https://graph.microsoft.com/v1.0/me/mailFolders/{$folder_id}/messages?$filter={$filter}&$select={$select}" sbContent: sbResponse]; if (success != YES) { NSLog(@"%@",http.LastErrorText); return; } [json LoadSb: sbResponse]; // Show the results.. NSLog(@"%@",[json Emit]); // 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... NSString *resp = 0; NSString *messageId = 0; int i = 0; int numEmails = [[json SizeOfArray: @"value"] intValue]; while (i < numEmails) { json.I = [NSNumber numberWithInt: i]; messageId = [json StringOf: @"value[i].id"]; [http SetUrlVar: @"message_id" value: messageId]; NSLog(@"%@%@",@"Deleting ",messageId); resp = [http QuickDeleteStr: @"https://graph.microsoft.com/v1.0/me/messages/{$message_id}"]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); return; } // A 204 response indicates success. if ([http.LastStatus intValue] == 204) { NSLog(@"%@",@"Message deleted."); } else { NSLog(@"%@",@"Message not deleted."); NSLog(@"%@",resp); } i = i + 1; } // Sample output: // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_AAAAA= // Message deleted. // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_EAAAA= // Message deleted. // |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.