File SDK – E-mail .msg fájlok feldolgozása (C#)
A Fájl SDK az .msg fájlok címkézési műveleteit bármely más fájltípussal azonos módon támogatja, kivéve, hogy az SDK-nak szüksége van az alkalmazásra az MSG-funkciójelző engedélyezéséhez. Itt megtudhatja, hogyan állíthatja be ezt a jelzőt.
Ahogy korábban már említettem, a IFileEngine
példányosításhoz egy beállítási objektumra van szükség. FileEngineSettings
A FileEngine Gépház segítségével paramétereket adhat meg az alkalmazásnak egy adott példányhoz beállított egyéni beállításokhoz. CustomSettings
tulajdonsága FileEngineSettings
az .msg fájlok feldolgozásának engedélyezéséhez enable_msg_file_type
szükséges jelző beállítására szolgál.
Előfeltételek
Ha még nem tette meg, a folytatás előtt mindenképpen végezze el a következő előfeltételeket:
- Teljes rövid útmutató: Először a fájl SDK-alkalmazás inicializálása (C#), amely egy kezdő Visual Studio-megoldást hoz létre. Ez a "How to process email message .msg files (C#)" rövid útmutató az előzőre épül.
- Tekintse át az e-mail fájlok MIP SDK-alapelveit .
- Opcionálisan: Tekintse át a fájlmotorokat a MIP SDK fogalmaiban.
- Opcionálisan: Tekintse át a fájlkezelőket a MIP SDK fogalmaiban.
Állítsa be a enable_msg_file_type, és használja a File SDK-t az .msg fájl címkézéséhez
A File API-alkalmazások inicializálásának rövid útmutatójában módosítsa a fájlmotor építési kódját a beállításhoz enable_msg_file_type flag
, majd használja a fájlmotort egy .msg fájl címkézésére.
Nyissa meg az előző "Rövid útmutató: Fájl SDK-alkalmazás inicializálása (C#)" című rövid útmutatóban létrehozott Visual Studio-megoldást.
A Megoldáskezelő használatával nyissa meg a metódus implementálását tartalmazó .cs fájlt a
Main()
projektben. Alapértelmezés szerint ugyanaz a név lesz, mint a projektet tartalmazó projekt, amelyet a projekt létrehozásakor adott meg.Távolítsa el a függvény implementálását
Main()
az előző rövid útmutatóból. A törzsbeMain()
szúrja be a következő kódot. Az alábbi kódblokk-jelzőenable_msg_file_type
be van állítva a fájlmotor létrehozása során, az .msg fájlokat ezután feldolgozhatjaIFileHandler
a fájlmotorral létrehozott objektumok.static void Main(string[] args) { // Initialize Wrapper for File SDK operations. MIP.Initialize(MipComponent.File); // Create ApplicationInfo, setting the clientID from Azure AD App Registration as the ApplicationId. ApplicationInfo appInfo = new ApplicationInfo() { ApplicationId = clientId, ApplicationName = appName, ApplicationVersion = "1.0.0" }; // Instantiate the AuthDelegateImpl object, passing in AppInfo. AuthDelegateImplementation authDelegate = new AuthDelegateImplementation(appInfo); MipContext mipContext = MIP.CreateMipContext(appInfo,"mip_data",LogLevel.Trace,null,null); // Initialize and instantiate the File Profile. // Create the FileProfileSettings object. // Initialize file profile settings to create/use local state. var profileSettings = new FileProfileSettings(mipContext, CacheStorageType.OnDiskEncrypted, new ConsentDelegateImplementation()); // Load the Profile async and wait for the result. var fileProfile = Task.Run(async () => await MIP.LoadFileProfileAsync(profileSettings)).Result; // Create a FileEngineSettings object, then use that to add an engine to the profile. var customSettings = new List<KeyValuePair<string, string>>(); customSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true")); // Create a FileEngineSettings object, then use that to add an engine to the profile. var engineSettings = new FileEngineSettings("user1@tenant.com", authDelegate, "", "en-US"); engineSettings.Identity = new Identity("user1@tenant.com"); //set custom settings for the engine engineSettings.CustomSettings = customSettings; //Add fileEngine to profile var fileEngine = Task.Run(async () => await fileProfile.AddEngineAsync(engineSettings)).Result; //Set file paths string inputFilePath = "<input-file-path>"; //.msg file to be labeled string actualFilePath = inputFilePath; string outputFilePath = "<output-file-path>"; //labeled .msg file string actualOutputFilePath = outputFilePath; //Create a file handler for original file var fileHandler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(inputFilePath, actualFilePath, true)).Result; // List labels available to the user and use one of them to label the MSG file. foreach (var label in fileEngine.SensitivityLabels) { Console.WriteLine(string.Format("{0} - {1}", label.Name, label.Id)); if (label.Children.Count > 0) { foreach (Label child in label.Children) { Console.WriteLine(string.Format("\t{0} - {1}", child.Name, child.Id)); } } } string labelId = "<label-id>"; //label retrieved using file engine LabelingOptions labelingOptions = new LabelingOptions() { AssignmentMethod = options.AssignmentMethod }; fileHandler.SetLabel(labelId, labelingOptions, new ProtectionSettings()); // Commit changes, save as outputFilePath var result = Task.Run(async () => await fileHandler.CommitAsync(outputFilePath)).Result; // Create a new handler to read the labeled file metadata var handlerModified = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(outputFilePath, actualOutputFilePath, true)).Result; Console.WriteLine(string.Format("Original file: {0}", inputFilePath)); Console.WriteLine(string.Format("Labeled file: {0}", outputFilePath)); Console.WriteLine(string.Format("Label applied to file: {0}", handlerModified.Label.Name)); Console.WriteLine("Press a key to continue."); Console.ReadKey(); // Application Shutdown fileHandler = null; handlerModified = null; fileEngine = null; fileProfile = null; mipContext = null; }
A fájlműveletekkel kapcsolatos további részletekért tekintse meg a Fájlkezelő alapelveit.
Cserélje le a helyőrző értékeket a forráskódban a következő értékekkel:
Helyőrző Value <bemeneti fájl elérési útja> A tesztbemeneti üzenetfájl teljes elérési útja, például: c:\\Test\\message.msg
.<kimeneti fájl elérési útja> A kimeneti fájl teljes elérési útja, amely a bemeneti fájl címkével ellátott másolata lesz, például: c:\\Test\\message_labeled.msg
.<címkeazonosító> A labelId fájlmotorral kérhető le, például: 667466bf-a01b-4b0a-8bbf-a79a3d96f720
.
Az alkalmazás létrehozása és tesztelése
Az F6 (Build Solution) használatával hozza létre az ügyfélalkalmazást. Ha nincsenek buildelési hibái, használja az F5 (Hibakeresés indítása) lehetőséget az alkalmazás futtatásához.
Original file: C:\Test.msg
Labeled file: C:\Test_Labeled.msg
Label applied to file: Confidential
Press a key to continue.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: