云端硬盘搜索无法与“客户端凭据”令牌一起使用

时间:2019-04-17 12:58:08

标签: office365 microsoft-graph

尝试在具有 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

对我来说,这似乎是个错误,但如果有人认为不是,那将很高兴。

1 个答案:

答案 0 :(得分:0)

结果表明,要使Search与 Client Credentials 一起使用,该应用程序需要具有Sites.ReadWrite.All权限。尽管文档提到“调用此API需要以下权限中的 一个 ”,但Files.ReadWrite.All权限还是不够的。提交了Microsoft文档GitHub issue