Microsoft 图表 - 列出电子邮件 - 禁用对 OData 的访问
Microsoft graph - listing emails - Access to OData is disabled
我想使用 Microsoft Graph API 以编程方式检查 Office365 邮箱。
我遵循了所有文档,即
- 在 Microsoft Identity Platform 上创建了一个应用程序,权限为
Mail.Read
、MailboxSettings.Read
、User.Read.All
- 均已征得管理员同意
- 创建密码
- 创建了一个
mail-enabled security group
包括脚本应该访问的电子邮件地址
- 创建了
ApplicationAccessPolicy
到 link 这两个项目
现在,
- 我可以请求访问令牌
- 我可以使用这个访问令牌来获取
用户列表 (
https://graph.microsoft.com/v1.0/users/
)
- 但是当我尝试获取特定用户 (
https://graph.microsoft.com/v1.0/users/USERIDHERE/messages
) 的消息列表时,我收到以下 403 错误:
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access to OData is disabled.",
"innerError": {
"request-id": "73db8b50-1f16-4301-abbd-d3fbbc78ca9b",
"date": "2019-12-20T16:08:34"
}
}
}
等了大概1个小时,居然自己解决了。
我想罪魁祸首是 Exchange 缓存。
我想使用 Microsoft Graph API 以编程方式检查 Office365 邮箱。
我遵循了所有文档,即
- 在 Microsoft Identity Platform 上创建了一个应用程序,权限为
Mail.Read
、MailboxSettings.Read
、User.Read.All
- 均已征得管理员同意 - 创建密码
- 创建了一个
mail-enabled security group
包括脚本应该访问的电子邮件地址 - 创建了
ApplicationAccessPolicy
到 link 这两个项目
现在,
- 我可以请求访问令牌
- 我可以使用这个访问令牌来获取
用户列表 (
https://graph.microsoft.com/v1.0/users/
) - 但是当我尝试获取特定用户 (
https://graph.microsoft.com/v1.0/users/USERIDHERE/messages
) 的消息列表时,我收到以下 403 错误:
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access to OData is disabled.",
"innerError": {
"request-id": "73db8b50-1f16-4301-abbd-d3fbbc78ca9b",
"date": "2019-12-20T16:08:34"
}
}
}
等了大概1个小时,居然自己解决了。
我想罪魁祸首是 Exchange 缓存。