Javascript InvalidAuthenticationToken正在获取联系人照片
我正在尝试使用Microsoft Graph获取Office 365联系人照片。我想在网页上显示这些图像。api返回的响应包含每个图像的链接,但这些链接需要承载访问令牌,当我尝试访问这些链接时,我遇到以下错误:Javascript InvalidAuthenticationToken正在获取联系人照片,javascript,microsoft-graph-api,Javascript,Microsoft Graph Api,我正在尝试使用Microsoft Graph获取Office 365联系人照片。我想在网页上显示这些图像。api返回的响应包含每个图像的链接,但这些链接需要承载访问令牌,当我尝试访问这些链接时,我遇到以下错误: { "error": { "code": "InvalidAuthenticationToken", "message": "Bearer access token is empty.", } } 代码如下: fetch("https:/
{
"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中?有什么建议吗?您需要将授权标头添加到HTTP请求中 标题名称:“授权” 内容:“持票人<代币>” 您的请求消息将如下所示
fetch("https://graph.microsoft.com/v1.0/me/contacts/" + item.id + "/photo/$value", {
headers: {
'user-agent': 'Mozilla/4.0 MDN Example',
'content-type': 'application/json'
'Authorization' : 'Bearer <AuthToken>'
},
method: 'GET', // *POST, PUT, DELETE, etc.
})
fetch(“https://graph.microsoft.com/v1.0/me/contacts/“+item.id+”/photo/$value”{
标题:{
“用户代理”:“Mozilla/4.0 MDN示例”,
“内容类型”:“应用程序/json”
“Authorization”:“详细说明如何添加标题”
有关Graph Auth令牌的详细信息,还没有用户/组/联系人照片的预授权URI
取而代之的是,在后端检索图像并像普通图像资产一样将其提供给页面。除了消除身份验证问题外,它还允许您将这些图像缓存一段时间,而不是每次都将其删除
或者,您可以将图像转换为base64,并将其作为可直接在
标记中使用的格式返回,如下所示:
<image src="data:image;base64,{data}" />
感谢您的回复,您的意思是在后端也转换映像吗?您的意思是为每个映像添加另一个带有该令牌的请求吗?想法是将其卸载到您的服务器。在服务器上检索文件、将其转换为base64并返回数据URI比下载更简单、更高效,这是一个非常好的日志并在客户端将其转换到内存中。