我正在使用图形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方法将创建新的共享链接。如果应用程序已存在指定类型的共享链接,则将返回现有的共享链接。
任何想法在这里出了什么问题?
答案 0 :(得分:0)
url
应该只是/createLink
(没有microsoft.graph
前缀):
POST /me/drive/items/{item-id}/createLink