Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Jak získat z MS Graph Mime Content

C# .NET .NET (C# a Visual Basic) Jak získat z MS Graph Mime Content American English version English version

Aktivity (3)
Avatar
Nikola Sterziková (PaNika):29. října 13:07

Ahoj, pracuji teď s technologií Microsoft Graph pomocí jejich SDK, která mi umožní připojit se na Exchange server a získat e-maily. Potřebuji e-maily (respektive konkrtétní mail) dostat jako Mime content, tedy pole bytů, které pak můžu uložit jako soubor .eml. Zmíněné SDK umožňuje dostat emaily jako kolekci typů Microsoft.Grap­h.Message což v tomto případě nepotřebuji. Potřebuji nějak dostat původní content jako pole bytů a nevím jak.

Zkusil jsem: V dokumentaci k REST API jsem našla GET pažadavek, kterým je toto možno udělat:
https://blogs.msdn.microsoft.com/…aph-or-rest/ ale nevím, jak to zařídit pomocí SDK.
Vyzkoušela jsem tento kód:

var stringRequest = graphClient.Users[user.Id].MailFolders.Inbox.Messages[message.Id].AppendSegmentToRequestUrl("$value");
            using (var client = new System.Net.Http.HttpClient())
            {
                using (var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, stringRequest))
                {
                    AuthenticationResult authResult = authenticateAAD();
                    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
                    using (System.Net.Http.HttpResponseMessage response = await graphClient.HttpProvider.SendAsync(request))
                    {
                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                             var result =  response.Content.ReadAsByteArrayAsync().Result;

                        }
                    }
                }
            }

Jenže při posílání požadavku vznikne chyba: Microsoft.Grap­h.ServiceExcep­tion: 'Code: ErrorInvalidRequest
Message: The OData request is not supported.

 
Odpovědět 29. října 13:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.