2016-01-08 117 views
1

我试图从O365使用Microsoft Graph API获取用户个人资料照片。当我使用以下API时,它只返回与配置文件图片相关的元数据。从O365获取用户个人资料照片 - microsoft graph api

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

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

+0

这应该是一个数据流 - jpeg图像。你使用什么平台/语言? –

回答

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); 
相关问题