我正在尝试使用“列表联系人” Microsoft Graph v1.0 API(https://docs.microsoft.com/en-us/graph/api/user-list-contacts?view=graph-rest-1.0)来检索组织中各个用户的联系人。换句话说,我想以委派的方式列出联系人。
我的问题是,此API仅适用于与访问令牌相关的用户,例如:
API返回的错误是:
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "[REQUEST_ID]",
"date": "[DATE]"
}
}
}
我已经通过解码JWT令牌并检查“ scp”字段来验证令牌包含“ Contacts.Read”范围,所以我不明白为什么API拒绝访问。关于为什么失败的任何想法?
答案 0 :(得分:0)
您需要的Contacts.Read.Shared或Contacts.ReadWrite.Shared,您当前的Contacts.Read范围将仅允许您访问当前用户的Contacts文件夹。另一件事是,仍然需要向用户请求授予目标邮箱文件夹的基础委托权限(通过Outlook委托或Add-MailboxFolderPermission,例如,他们需要能够通过Outlook或OWA访问该文件夹)。