首页 文章

从O365获取用户个人头像 - microsoft graph api

提问于
浏览
1

我曾尝试使用Microsoft Graph API从O365获取用户 Profiles 照片 . 当我使用以下API时,它仅返回与配置文件pic相关的元数据 .

https://graph.microsoft.com/beta/me/photo

通过https://graph.microsoft.com/beta/me/photo/ $ value返回一个没有任何意义的乱码对象 . 但是,我认为这是与用户配置文件相关的数据 . 需要帮助将这些数据提取到base64中 .

1 回答

  • 1

    返回的数据是图像类型的二进制数据 . 如果您使用JavaScript来检索用户照片,请在XMLHttpRequest中将照片数据作为blob类型获取,然后从响应中检索blob URL . 供你参考:

    var request = new XMLHttpRequest;
     var photoUri=config.endpoints.graphApiUri + "/v1.0/me/photo/$value";
     request.open("GET",photoUri);
     request.setRequestHeader("Authorization","Bearer "+token);
     request.responseType = "blob";
     request.onload = function (){
    
     if(request.readyState == 4 && request.status == 200){
    
     var image = document.createElement("img");
     var url = window.URL || window.webkitURL;
     var blobUrl = url.createObjectURL(request.response);
     image.src = blobUrl;
      document.getElementById("UserShow").appendChild(image);
     }
    
     };
     request.send(null);
    

相关问题