我正在尝试使用Microsoft Graph的/photo获取Office 365联系人照片。我想在网页上显示这些图像。从api返回的响应包含每个图像的链接,但是这些链接需要Bearer访问令牌,当我尝试访问这些链接时,出现以下错误:

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "Bearer access token is empty.",
    }
}


这是代码:

fetch("https://graph.microsoft.com/v1.0/me/contacts/" + item.id +
    "/photo/$value", options).then(function (response) {
    console.log("the response is", response);
}).catch(function (error) {
    console.log("error : ", error);
});


有什么方法可以将此令牌添加到API返回的URL?有什么建议吗?

最佳答案

没有适用于用户/组/联系人照片的预授权URI。

取而代之的是,在您的后端上检索图像,然后像普通图像资产一样将其提供给页面。除了消除身份验证问题外,它还允许您将这些图像缓存一段时间,而不是每次都拉下来。

或者,您可以将图像转换为base64并将其作为Data URI返回,可以直接在<image>标记中使用,如下所示:

关于javascript - InvalidAuthenticationToken获取联系人照片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48771698/

10-09 09:08