【问题标题】:How to get users's photo using Microsoft Graph?如何使用 Microsoft Graph 获取用户的照片?
【发布时间】:2020-07-08 08:38:02
【问题描述】:

我已向 Microsoft Graph 发送了一个请求,以从用户那里获取照片。 看起来像这样 --GET https://graph.microsoft.com/v1.0/users/USER_ID/photo/$value 作为响应,我得到图像的二进制格式,并且正如文档建议的那样,我制作了 blob 对象, like this。 输入我收到的 od 数据(来自图像),我设置为 ng.HttpPromise。

我得到了我为图像 src(在 html 中)设置的 url,但照片没有显示,而且我没有弹出任何错误。

【问题讨论】:

  • 能否将您的 GET 请求示例包装成反引号 '`' ?
  • @MinaRacic,不鼓励发布代码截图,您能否在帖子中包含代码示例并更新这方面的问题?
  • @MinaRacic, .. 并且可能提供一些细节,例如,data 对象的类型是什么,ArrayBuffer?关于 photo is not show 图片是如何从contact.photoUrl 渲染的
  • @VadimGremyachev 我试图更详细地解释它。如果现在一切都清楚了,请告诉我。

标签: microsoft-graph-api photo


【解决方案1】:

要使用 Graph 获取用户的照片,请使用:https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/照片/$值。 从共享的示例(见下文)我可以看到一个小错误:

响应完成后,您需要调用data.blob(),它会返回一个包含该blob 的promise,然后您可以在解析后将其传递给createObjectUrl

this.videoEventServie.getPersonPhoto(contact).then(data => {
  return data.blob();

}).then(function(currentBlob){
  var src= URL.createObjectURL(currentBlob);
  myImage.photoUrl = src;
});

请参阅此答案:Using JavaScript to display a Blob 了解更多上下文。

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    相关资源
    最近更新 更多