javascript - 从 Windows 8 Metro 中的 People 应用程序检索联系人缩略图

标签 javascript windows contacts thumbnails microsoft-metro

我使用以下代码从 Metro 应用程序中的 People's App 检索联系人姓名:

    function selectContact() {

    var picker = Windows.ApplicationModel.Contacts.ContactPicker();
    picker.commitButtonText = "Select";
    picker.selectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.contacts;
            picker.pickMultipleContactsAsync().done(function (contacts) {
        if(contacts.length>0){
            var j =document.getElementById("contactlist");
            contacts.forEach(function (contact) {
                j.innerHTML += contact.name + "<br>";
            });
}

现在,我需要检索联系人缩略图并将其添加到我的应用程序中。联系人有一个 getThumbnailAsync() 方法,但我不知道如何使用它...我使用了下面的代码,但缩略图大小始终为零:

    contacts.forEach(function (contact) {
        contact.getThumbnailAsync().done(function (thumbnail) {
            if (thumbnail.size > 0) {
                var imageBlob = window.URL.createObjectURL(thumbnail,false);
                document.getElementById("contactlist").innerHTML += "<img id=" + i + " /><br>";
                document.getElementById(i).src = imageBlob;
                i++;
            }

        });
    });

最佳答案

你的代码对我来说看起来没问题。我会检查您的用户帐户是否允许应用程序使用您的图像。您可以在电脑设置中指定:

enter image description here

可能只是您不允许这样做,因此该方法始终返回图像的 0 长度。

编辑:抱歉,我刚刚重新阅读了您的问题,发现您正在谈论“人脉”应用。抱歉,我不确定,但我会在这里留下这个答案,以防其他人在尝试获取登录用户的帐户图片时偶然发现这个问题。

关于javascript - 从 Windows 8 Metro 中的 People 应用程序检索联系人缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178822/

相关文章:

android - 如何使用关键字在 Android 中过滤联系人

javascript - 如何使隐藏元素不再需要

Javascript – 在不同间隔的图像之间切换

javascript - 首字母不能大写,元素未更新

python - 如何使用opencv在视频中仅检测左眼?

子窗口绘画引用

javascript - 编辑现有的 cordova 插件

c++ - 我怎样才能在计算机上找到 MS Word 的版本?

数据库设计 - 不同表的多个 "Contact information"

android - 如何在 Android 上为单个联系人设置铃声?