Как я могу получить изображение аватара внешнего контакта?

Я пытаюсь получить изображение аватара контакта.

using Microsoft.Office.Interop.Outlook;

public sealed class OutlookAvatarFetcher
{
    private static void FetchAvatars()
    {
        var outlook = new Application();
        var folder = outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderContacts);
        var items = folder.Items;

        for (var i = 0; i < items.Count; ++i)
        {
            var contact = items[i + 1] as ContactItem;
            if (contact == null)
                continue;


            if (contact.HasPicture)
            {
                // TODO store the picture somehow.
            }
        }
    }
}

Но, к сожалению, я не могу найти аксессуар для картинок.

2 ответа

Решение

Вы можете использовать attachments собственность ContactItem:

contact.Attachments["ContactPicture.jpg"]

Например, если вы хотите сохранить файл на диск, вы можете сделать что-то вроде этого:

contact.Attachments["ContactPicture.jpg"].SaveAsFile(@"{some_path}\ContactPicture.jpg")

Вы имеете в виду изображение, которое исходит из Facebook или LinkedIn?

Вы не можете получить к нему доступ - MS не предоставила API для этого в юридических целях. Помните, что данные поступают от сторонней службы, и в таких случаях довольно много юристов.

Другие вопросы по тегам