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

bap*_*rks 5 onedrive microsoft-graph

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

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

与身体:

{
   "type": "view",
   "scope": "anonymous"
}
Run Code Online (Sandbox Code Playgroud)

对于已通过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"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

microsoft.graph.createLink的文档指出

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

任何想法出什么事了吗?

Mar*_*eur 0

应该url很简单/createLink(没有microsoft.graph前缀):

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