我怎样才能获得outlook contact的头像图片?

时间:2013-05-03 12:25:19

标签: c# .net outlook interop mapi

我正在尝试获取联系人的头像图片。

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 个答案:

答案 0 :(得分:4)

您可以使用attachments的{​​{1}}属性:

ContactItem

例如,如果要将文件保存到磁盘,可以执行以下操作:

contact.Attachments["ContactPicture.jpg"]

答案 1 :(得分:0)

你的意思是来自Facebook或LinkedIn的图片?

您无法访问它 - MS出于法律目的没有提供任何API来执行此操作。请记住,这些数据来自第三方服务,很多律师都参与了这样的案件。