microsoft-graph-api - Microsoft Graph - 找不到邮箱

标签 microsoft-graph-api outlook-restapi

我有一个 Office365 开发者帐户,有几个用户。我正在尝试使用 Microsoft Graph API 通过守护程序应用程序(即 headless )访问他们的邮件。

我已验证这些用户的邮箱是否存在,但出现错误:

ErrorNonExistentMailbox
No mailbox was found that includes the specified identity: `<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="48303008313166272625212b3a273b272e3c662b2725" rel="noreferrer noopener nofollow">[email protected]</a>`

我之前已获得 token 作为注册应用程序(通过 apps.dev.microsoft.com),并将其包含在以下请求 URL 中:

https://graph.microsoft.com/v1.0/users/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7f07073f060651101112161c0d100c10190b511c1012" rel="noreferrer noopener nofollow">[email protected]</a>/messages

有什么指导吗?

token 在第一个操作中出现,如下所示:

{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 0,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFEWDhHQ2k2SnM2U0s4MlRzRDJQYjdyblpfdTg3QjlwS2hFeG5ncFRpS1gwczVwY2k1YnpobHZDdTFlVi1uRlFkRk0yMHlJZ1MxdnlBbC1UUnBYdGNoakxIYkhMb21hT28wb3UxaTkxYnJKRENBQSIsImFsZyI6IlJTMjU2IiwieDV0IjoiaUJqTDFSY3F6aGl5NGZweEl4ZFpxb2hNMllrIiwia2lkIjoiaUJqTDFSY3F6aGl5NGZweEl4ZFpxb2hNMllrIn0.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNTI3NTM1NTU5LCJuYmYiOjE1Mjc1MzU1NTksImV4cCI6MTUyNzUzOTQ1OSwiYWlvIjoiWTJkZ1lHaTl6Zi9XNWVTTXlPZ0ppc3NxMThUSkFRQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJJbmZvcm1hdGljYSBDQUkgaXoiLCJhcHBpZCI6IjQ0YTA4YWU3LTZiYzItNGEzMy04MmNiLTAzNzZhMzkxYjdhZCIsImFwcGlkYWNyIjoiMSIsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0Ny8iLCJ0aWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJ1dGkiOiI4RnlhZUZ0ZHVFdWRjcFBNYmswYkFBIiwidmVyIjoiMS4wIn0.DMpgiNfazeDd2KsEjHAggKAg3STMeK59ls9-whHaf-UEON_fvP45ay6PrqfAnwdqz-QKmX-8ikyiM8zuE5r8IGL1d7zYzJCnIECeQwtg8OKzYJPyDW7V0RAF0yePT2fg22luGhFz5yqzjSGlxhWauZmkmXq7JrGrO7fhzAUwoJh7XJrIOlfj098LPoTrmfAaOn36hBmmcQyuFNDhW5E6oXqZsyssJ5SKvaXN_w62IrXv2-nmIkZwyqcrVlCnX_Q1ytrFuc_xItL0FFe_5MbRiF-JIxdbeFNE8LR06mFWfEGHyJu01SJvgxE9500nVzok94qCX-r5lxN0WqVLOuTqEg"

}

最佳答案

我发现我做错了什么。最初请求 token 时,我使用“common”作为 URL 的租户部分。显然,虽然合法,但这并没有给予适当的权限。解码后我返回的 token 没有列出任何权限,如果我对 JWT token 内容和格式更熟悉一点的话,这将是一个线索。

一旦我将 URL 的租户部分更改为租户 GUID(从 AD 检索)或完全限定的域名(在我的例子中类似于 yy.onmicrosoft.com),我取回了一个不同的 token ,其中包含我在应用注册门户中授予的 Microsoft Graph 权限列表。

使用这个新 token ,我能够从我的域中任何用户的邮箱中检索邮件。感谢马克为我指明了正确的方向。

关于microsoft-graph-api - Microsoft Graph - 找不到邮箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50544004/

相关文章:

node.js - Outlook API 日历中的时差

azure - 使用 SDK 在 Blazor 服务器应用程序中运行 Office 365 图形 API 查询

microsoft-graph-api - Microsoft Outlook Calendar Graph API delta 不返回已删除的事件?

microsoft-graph-api - 如何通过Microsoft Outlook Calendar Graph API查找重复异常

c# - Microsoft Graph 使用仅应用程序身份验证从 @outlook.com 帐户读取邮件

c# - HttpProvider.SendAsync() 空内容

azure - Microsoft Graph 客户端错误 : Authentication challenge is required

microsoft-graph-api - 如何以编程方式使用 Microsoft graph API 获取用户数据

microsoft-graph-api - 枚举给定 SharePoint URL 并使用 Graph API 的特定驱动器的 DriveItem 资源

ios - 在 swift 中使用 OAuth2 库时总是出现错误 "OAuth2: No authorization context present"