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

时间:2016-03-13 02:50:31

标签: onedrive microsoft-graph

我正在使用图形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方法将创建新的共享链接。如果应用程序已存在指定类型的共享链接,则将返回现有的共享链接。

任何想法在这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

url应该只是/createLink(没有microsoft.graph前缀):

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