Angular 缩略图-错误:我们的服务不是';我现在没空

Angular 缩略图-错误:我们的服务不是';我现在没空,angular,microsoft-graph-api,onedrive,Angular,Microsoft Graph Api,Onedrive,你好,堆栈溢出社区 我目前面临一个问题,如果能得到任何帮助,我将不胜感激 我在OneDrive中存储了一个图像,我使用以下方法检索特定的图像缩略图: https://graph.microsoft.com/v1.0/{tenant-id}/groups/{group-id}/drive/items/{item-id}/thumbnails/0/small 使用Fiddler,响应为200。布里尔!我有高度、url和宽度。我现在只对url感兴趣 当我将url添加到HTML标记源时,不会加载任何内

你好,堆栈溢出社区

我目前面临一个问题,如果能得到任何帮助,我将不胜感激

我在OneDrive中存储了一个图像,我使用以下方法检索特定的图像缩略图:

https://graph.microsoft.com/v1.0/{tenant-id}/groups/{group-id}/drive/items/{item-id}/thumbnails/0/small
使用Fiddler,响应为200。布里尔!我有高度、url和宽度。我现在只对url感兴趣

当我将url添加到
HTML标记源时,不会加载任何内容。经检查,我发现GET返回503。 我正在处理Angular 4,因此在组件类型脚本中,我还尝试添加
bypassSecurityTrustResourceUrl()
functionfrom
Domsanizer
类。没用

我尝试将返回的缩略图的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...

如果我在浏览器中使用http替换https,则图像将正常加载。

当您向
图像
标记(
)提供URI时,您告诉浏览器发出
获取
请求以从该URI检索图像。这对存储在OneDrive中的文件不起作用,因为
GET
缺少有效的
Authorization

为了显示OneDrive中的图像(或者是配置文件照片),您需要检索图像内容并将其作为base 64编码字符串提供给image元素

可以在图形调用结束时检索内容。这告诉Graph返回图像的内容,而不仅仅是它的元数据


获得内容后,将其编码为Base64并将其作为数据URI传入:

嗨,马克,这正是我想要的,并且回答了这个问题。然而,如果您允许我坚持下去,当我在Fiddler中将/content添加到图形调用的末尾时,它首先给了我302,然后给了我503。这是预期的吗?我的意思是,我希望根据您与我共享的文档得到响应。错误中包含的消息是什么?应该有一些随
302
503
返回的附加详细信息。看,这是非常不可靠的。有时它会给出
HTTP错误503.2-服务不可用serverRuntime@appConcurrentRequestLimit正在超出设置。
。其他时候,
我们的服务现在不可用。我们正在努力尽快恢复所有服务。请稍后再查看。
请允许我补充一下,我注意到请求已发送到数据中心:UK South。可能是服务器吗?我想知道是否可以将数据中心改为西欧或爱尔兰。