Получение встроенного / встроенного вложения с помощью Gmail API - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь получить вложения с помощью Gmail API на C # Web API. Мне удалось извлечь вложенные файлы, но не удалось извлечь вложенные вложения в электронном письме (изображения).

Код для вытягивания вложений

foreach (Message msg in messages)
                {


                    if (msg.Payload != null && msg.Payload.Parts != null)
                    {
                        Console.WriteLine("History IDs " + msg.HistoryId);

                        IList<MessagePart> parts = msg.Payload.Parts;
                        foreach (MessagePart part in parts)
                        {


                            if (!String.IsNullOrEmpty(part.Filename))
                            {
                                Console.WriteLine(part.Body.AttachmentId);
                                String attId = part.Body.AttachmentId;
                                try
                                {
                                    MessagePartBody attachPart = service.Users.Messages.Attachments.Get(userId, msg.Id, attId).Execute();

                                    // Converting from RFC 4648 base64 to base64url encoding
                                    // see http://en.wikipedia.org/wiki/Base64#Implementations_and_history
                                    String attachData = attachPart.Data.Replace('-', '+');
                                    attachData = attachData.Replace('_', '/');

                                    byte[] data = Convert.FromBase64String(attachData);
                                    File.WriteAllBytes(Path.Combine(AppSettings.GetDocsRootDirectory(), part.Filename), data);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine(ex.Message);
                                }
                            } else
                            {

                            }
                        }
                    }


                }

Кроме того, есть ли способ пакетного вложения, как мы можем запросить сообщения?

...