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}" />
。
你好 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}" />
。