【问题标题】:"Access is denied" while trying to retrieve Outlook tasks with Graph API尝试使用 Graph API 检索 Outlook 任务时出现“访问被拒绝”
【发布时间】:2017-07-03 14:00:00
【问题描述】:

我在 AzureAD 中注册了一个应用程序,我授予了所有 Graph API 权限。 然而,当我尝试获取:https://graph.microsoft.com/beta/users/[userid]/outlook/tasks

或者: https://graph.microsoft.com/beta/groups/{id}/events

我收到“访问被拒绝。请检查凭据并重试。”错误,但我没有更多可以添加的权限。 我使用管理员同意来允许所有权限,但没有任何改变。 (Graph beta API 中的其他东西正在运行)

这是我在 Python 中使用的代码:

url = "https://login.microsoftonline.com/[domain]/oauth2/token"
data = {'client_id': '1111111111',
    'client_secret': '2222222222',
    'grant_type': 'client_credentials',
    'resource': 'https://graph.microsoft.com',
    'scope': 'https://graph.microsoft.com/.default'}
r = requests.post(url, data=data)
access_token = r.json()['access_token']
data = {'Authorization': 'Bearer ' + access_token, 'Accept': 'application/json'}
url = "https://graph.microsoft.com/beta/users/[user id]/outlook/tasks"
r = requests.get(url, headers=data)
print r.content

【问题讨论】:

  • 您可以添加您添加的权限的屏幕截图吗?
  • 我是否正确假设您使用的是服务主体?如果是,您的 AD 租户 ID 在哪里?
  • AD 租户 ID 在这里:“login.microsoftonline.com/[domain/tenant id]/oauth2/token”
  • 读取所有用户完整配置文件读取和写入设备读取目录数据读取所有组读取所有邮箱中的联系人读取所有邮箱中的日历读取所有邮箱中的邮件读取所有隐藏的成员资格读取所有使用报告
  • 读取和写入所有网站集中的文件 读取所有网站集中的文件 读取所有用户邮箱设置 读取和写入域 读取所有 onenote 笔记本 委派权限:查看用户基本个人资料 查看用户电子邮件地址 创建、读取、更新和删除用户任务和项目 读取用户任务 随时访问用户数据 登录用户 读取所有网站集中的项目 读取用户可以访问的所有文件 读取用户文件 读取用户联系人 读取用户日历 读取用户邮件 登录用户读取时访问目录目录数据

标签: python azure office365 microsoft-graph-api azure-ad-graph-api


【解决方案1】:

'grant_type': 'client_credentials'

不允许应用权限

允许委托权限

为了更清楚,请参阅: https://docs.microsoft.com/en-us/graph/api/outlookuser-post-tasks?view=graph-rest-beta&tabs=csharp

【讨论】:

  • 回答问题时,您需要在回答中添加与问题相关的所有见解,而不是将提问者引至网站。您当然可以提供外部链接以获取更多详细信息,但您的回答中应引用主要概念。
猜你喜欢
  • 1970-01-01
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
相关资源
最近更新 更多