尝试在具有 Client Credentials (App)令牌的驱动器上执行search操作,例如以下URL:
https://graph.microsoft.com/v1.0/groups/{GROUP_ID}/drive/root/search(q='newFileTest.docx')
...导致403错误:
{
"error": {
"code": "accessDenied",
"message": "The caller does not have permission to perform the action.",
"innerError": {
"request-id": "**redacted**",
"date": "2019-04-17T12:47:10"
}
}
}
客户端具有Files.ReadWrite.All
权限,这对于执行搜索查询是必需的,并且可以读/写文件夹和文件而没有任何问题。
使用委派的身份验证执行相同的命令(因此对于登录用户,例如Microsoft Graph Explorer)有效,但返回0结果(有关详细信息,请参见this bug)
对我来说,这似乎是个错误,但如果有人认为不是,那将很高兴。
答案 0 :(得分:0)
结果表明,要使Search与 Client Credentials 一起使用,该应用程序需要具有Sites.ReadWrite.All
权限。尽管文档提到“调用此API需要以下权限中的 一个 ”,但Files.ReadWrite.All
权限还是不够的。提交了Microsoft文档GitHub issue。