Как я могу получить изображение аватара внешнего контакта?
Я пытаюсь получить изображение аватара контакта.
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 для этого в юридических целях. Помните, что данные поступают от сторонней службы, и в таких случаях довольно много юристов.