outlook - Office365 Exchange REST API 错误、端点和权限问题
问题描述
我正在尝试了解#Microsoft 提供的 API。它太乱了。我的目标是使用 Exchange API 来编辑设置。
所以,我有一个应用程序、访问令牌和订阅。
尝试登录https://outlook.office365.com/时出现以下错误:
Your subscription is no longer active. Please contact your admin to activate your subscription.
X-ClientId: 05A0A74F610C432EA1AD48C77829580B
request-id 3088673c-f523-4e26-824f-1d0f7cb0a219
X-OWA-Error Microsoft.Exchange.Data.Storage.TenantAccessBlockedException
X-OWA-Version 15.20.2451.30
X-FEServer HE1PR05CA0360
X-BEServer HE1P190MB0508
Date:18/11/2019 09:11:34
但正如你所看到的,我有一个订阅:
我的理解是在使用 API 之前我必须登录到 outlook.office365.com。
更新
好的,我现在可以登录https://outlook.office365.com/mail/inbox了。花了一段时间............但是;
1)我可以要求:https://outlook.office365.com/api/beta/users/********************************/
。它将返回指定的用户。2)我不能https://outlook.office365.com/api/beta/users/********************************/mailfolders
。我告诉我“拒绝访问”。虽然我的应用程序具有所有 Exchange、Office365 权限。但是委托和应用程序权限。
解决方案
“为您的租户授予管理员许可”功能似乎已于昨天更新。
但是,根据我的测试,新的“为您的租户授予管理员同意”功能有问题。
如果你使用它来授予管理员同意,它可能不会在后端生效,尽管管理员同意已在 Azure 门户上成功完成。
目前,您可以通过 URL 请求授予管理员同意。
https://login.microsoftonline.com/{your tenant}/oauth2/authorize?client_id={app id of your Azure AD app}&response_type=code&redirect_uri={redirect uri of your Azure AD app}&nonce=1234&resource=https://outlook.office365.com/&prompt=admin_consent
请注意,您当前需要创建一个新的 Azure AD 应用程序,因为如果您在 Azure Portal 上使用了管理员同意,则通过 URL 请求授予管理员同意将不会生效。
推荐阅读
- flutter - 在类之间导航时,ToggleButton 不会保持打开状态
- arrays - 如何创建一个数组来存储不同数据类型(不同接口)的数组元素?
- c++ - 如何在 C++98 中有效地将 std::queue 的内容传输到另一个?
- google-apps-script - Google 工作表 + Web 应用搜索特定列并返回所有匹配行
- r - 警告信息说明
- r - ggpubr:按组排序,但排序顺序不同(asc,desc)
- nginx - Nginx反向代理动态授权标头不起作用
- python - 如何在python中更新某些字典键值
- ruby-on-rails - Rails C 命令切换到检查模式并且在那之后不起作用
- javascript - 当我使用右侧的 keyCode 导航时,如何跳转到下一行?