未从Sharepoint上的delve加载配置文件图像

时间:2019-07-15 14:39:26

标签: javascript sharepoint

我正试图从delve中获取个人资料图像,并使用Javascript将其显示在Sharepoint页面上,我遇到的问题是图像并不总是加载

var profileimage="https://eur.delve.office.com/mt/v3/people/profileimage?userId="+userInfo["SPS-ClaimID"]+"&size=L";

1 个答案:

答案 0 :(得分:0)

如果要显示个人资料图片,我们可以使用以下网址。

var profileimage="/_layouts/15/userphoto.aspx?size=L&username=lz@tenant.onmicrosoft.com";

示例代码:

<script src="//code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () { 
    var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/siteusers?$select=Id,Title,Email";
    $.ajax({
        url: url,
        method: "GET",
        async: false,
        headers: { "Accept": "application/json; odata=verbose" },
        success: function (data) {
            var items=data.d.results;
            var options="<option>--select a user--</option>";
            for(var i=0;i<items.length;i++){
                if(items[i].Email!=""){
                    options+="<option value='"+items[i].Email+"'>"+items[i].Title+"</option>";
                }
            }
            $("#SiteUsers").html(options);
        },
        error: function (data) {
        }
    });
    $("#SiteUsers").change(function(){
        var html="";
        if($(this).val()!=null&&$(this).val()!=""){
            html+="<img src='/_layouts/15/userphoto.aspx?size=L&username=" + $(this).val() + "'/>";     
        }
        if($(this).children(':selected').text()!=""){
            html+="<p><span>Name:"+ $(this).children(':selected').text()+"</span></p>";     
        }        
        $("#UserInfomation").html(html);
    });
});
</script>

<select id="SiteUsers"><option>--select a user--</option></select>
<div id="UserInfomation"></div>