【发布时间】:2016-06-28 01:00:46
【问题描述】:
我正在使用https://graph.microsoft.com/v1.0/me/drive/root/microsoft.graph.search 端点从用户的 OneDrive for Business 帐户成功返回搜索结果。
我在我们的应用程序内的联合搜索中使用这些结果,并希望在可用时使用 api 为每个项目呈现缩略图。
我有一个https://graph.microsoft.com 资源的访问令牌,除缩略图外,一切都运行良好。
我能够取回缩略图集合数据,例如:
[小] => 数组(
[身高] => 350
[宽度] => 266
[url] => https://xxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxxxxxxxxxxxx_onmicrosoft_com/_api/v2.0/drive/items/{item id}/thumbnails/0/small/thumbnailContent )
任何直接在 img 标签中或通过 curl 访问该 thumbnailContent url 的尝试都会返回错误。对于 curl,我在标题中提供了访问令牌。
我收到如下错误信息:
HTTP/1.1 403
X-MSDAVEXT_Error:917656;访问+拒绝。+之前+打开+文件+in+this+location%2c+you+must+first+browse+to+the+web+site+and+select+the+option+to+login+自动。
{"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":"访问被拒绝。您无权执行此操作或访问此资源。"}}
在解决此处所需的问题时,我们将不胜感激。
我已阅读我可能需要一个共享点令牌而不是图形令牌。如果是这种情况,我似乎无法弄清楚如何获取请求必要的共享点令牌所需的资源 ID。
谢谢。
【问题讨论】:
-
嗨,Ray - 我正在查看 GitHub 存储库以查看是否有任何问题,看起来确实存在。 7 天前的评论显示他们禁用了预先验证的网址。我会关注这个线程,也许会在其中添加一些 cmets。 github.com/OfficeDev/microsoft-graph-docs/issues/135
-
谢谢,我看到了……我一直在尝试为每个缩略图 url 发送经过正确身份验证的请求,我想也许我需要一个共享点令牌,但没有成功。预认证的网址是唯一的选择吗?
-
我也尝试过构建getpreview.ashx url,如这篇文章link 中所述,它可以工作,但我在第一次加载时遇到问题,它似乎还没有经过身份验证,但如果我从浏览器“查看图像”,则会触发身份验证步骤,我对我的会话有好处。我可能可以破解它来工作,但感觉还没有准备好生产,我依赖于那个 url 语法......
标签: office365api onedrive microsoft-graph-api office365-restapi