MS Graph API:microsoft.graph.createLink 未创建匿名视图链接

Posted

技术标签:

【中文标题】MS Graph API:microsoft.graph.createLink 未创建匿名视图链接【英文标题】:MS Graph API: microsoft.graph.createLink not creating anonymous view links 【发布时间】:2016-06-28 05:07:06 【问题描述】:

我正在使用图形 API 来遍历 OneDrive for Business 中的文件夹。我正在尝试使用以下调用为文件夹中的每个项目生成“匿名视图”链接:

/v1.0/users('user-guid')/drive/items/item-id/microsoft.graph.createLink

与身体:


   "type": "view",
   "scope": "anonymous"

这适用于已通过 OneDrive UI 获得“查看链接 - 无需登录”权限的项目。但是,对尚未设置此共享选项的项目执行此调用会导致以下返回消息:


  "error": 
    "code": "unauthenticated",
    "message": "The caller is not authenticated.",
    "innerError": 
    "request-id": "1c3600ec-4861-4be4-9a7b-74264f488a80",
    "date": "2016-03-13T02:30:10"
    
  

我知道这不是身份验证问题,因为我的令牌适用于所有其他调用(以及针对已设置文件共享的项目的调用)。我从Microsoft Graph Explorer 工具中得到了相同的行为。如果我在 OneDrive 中手动设置“查看链接 - 无需登录”权限,此调用将完美执行。我的 API 调用凭据与我用于在 OneDrive UI 中设置权限的凭据相同。

microsoft.graph.createLink 状态的文档

如果指定的链接类型不存在,createLink 方法将创建一个新的共享链接。如果应用已经存在指定类型的分享链接,则返回现有的分享链接。

有什么想法吗?

【问题讨论】:

您解决了吗?我们在这个线程中描述了同样的问题:***.com/questions/42439078/… 【参考方案1】:

url 应该只是 /createLink(不带 microsoft.graph 前缀):

POST /me/drive/items/item-id/createLink

【讨论】:

以上是关于MS Graph API:microsoft.graph.createLink 未创建匿名视图链接的主要内容,如果未能解决你的问题,请参考以下文章

MS Graph API Onedrive副本返回generalException

MS Graph API订阅邮件发送

使用MS Graph API for Sharepoint的间歇性连接断开

MS Graph API - 创建在线会议,不生成拨号会议信息。

无法根据访问令牌对用户进行身份验证 - MS Graph API C#

使用 Ms Graph Api 将附件文件从 Outlook 复制到 onedrive,无需下载