Thumbnails - Error: Our services aren't available right now

Thumbnails - Error: Our services aren't available right now

你好 Stack Overflow 社区。

我目前遇到了问题,如有任何帮助,我将不胜感激。

我在 OneDrive 中存储了一张图片,我正在使用以下方法检索特定图片缩略图:

https://graph.microsoft.com/v1.0/{tenant-id}/groups/{group-id}/drive/items/{item-id}/thumbnails/0/small

使用 Fiddler,响应为 200。Brill!我有高度,url 和宽度。我现在只对 url 感兴趣。

当我将 url 添加到 <img> HTML 标记源时,没有加载任何内容。经过检查,我发现 GET returns 503。 我正在研究 Angular 4,所以在组件打字稿中我也尝试从 DomSanitizer class 添加 bypassSecurityTrustResourceUrl() 函数。没用。

我试图将返回的缩略图 url 粘贴到浏览器至少看看我是否可以获得视觉反馈,但我得到:

Our services aren't available right now
We're working to restore all services as soon as possible. Please check back soon.

Ref A: 485BC559DAC040639663E5D630A348EA Ref B: AM3EDGE0213 Ref C: 2018-01-30T15:20:58Z

我做错了什么?

请注意:这实际上是第二次尝试加载图像。和以前一样我用过

https://graph.microsoft.com/v1.0/{tenant-id}/groups/{group-id}/drive/items/{folder-id}/children

响应有一个 webUrl,我试图将其输入 img 标签,但出于某种原因,它希望我手动登录 OneDrive,然后浏览器获取 cookie,图像显示得很好.但我们不希望这样,我们不希望我们的用户被迫登录到 OneDrive。我正在尝试找出一种方法来将存储在其中的图像加载到我的 Angular 应用程序中。 按照权限,都设置好了,我都检查过了

*编辑1: 返回的 url 包含如下内容:

https://ukwest1-mediap.svc.ms/transform/thumbnail?provider=spo&inputFormat=jpg...

如果我将浏览器中的 https 替换为 http,图像加载正常。

当您向 IMAGE 标记 (<image src='uri' />) 提供 URI 时,您是在告诉浏览器发出 GET 请求以从该 URI 检索图像。这不适用于存储在 OneDrive 中的文件,因为 GET 将缺少有效的 Authorization header。

为了显示来自 OneDrive 的图像(或个人资料照片),您需要检索图像内容并将其作为 base 64 编码字符串提供给图像元素。

内容可以通过 adding /content 检索到您的 Graph 调用结束。这告诉 Graph return 图像的内容而不仅仅是它的元数据。

获得内容后,将其编码为 Base64 并将其作为数据 URI 传入:<image src="data:image;base64,{encodedimage}" />