2016-04-26 38 views
0

注意:相同的流程正在为Office 365许可证工作。办公室365邮件文件夹列表API返回404与邮件文件夹未找到

Exchange安装信息: 我们有一个混合环境,主交换服务器是内部部署的,并且正在归档用户邮件信箱在线交换。

许可: Exchange联机存档

情景: 我们正在使用Office 365 rest apis。 我已经使用全局管理授权并将生成的刷新令牌存储在安全位置。使用刷新令牌,我获取访问令牌。此访问令牌然后用于获取用户的邮件端点。

然后,要获取用户的邮件文件夹,我创建了client_credentials type的新access_token,然后在上述端点上查询文件夹列表。

以下是详细的请求/响应。 user_name和access_token由于隐私原因已被故意删除。

** REQUEST START (Sat Apr 23 07:40:28 2016) ** 
REQUEST: GET https://outlook.office365.com/api/v1.0/users('<user_name>')/folders/?$top=100 
Accept-Encoding: gzip, deflate 
accept: application/json 
User-Agent: python-requests/2.4.1 CPython/2.7.8 Linux/3.13.0-83-generic 
Connection: keep-alive 
content-type: application/json 
Authorization: Bearer <access_token> 
None 
* * * * 
RESPONSE (404) 
x-calculatedbetarget: AM2PR05MB1089.eurprd05.prod.outlook.com 
x-powered-by: ASP.NET 
transfer-encoding: chunked 
request-id: 8c9ac8a6-8fe7-46f6-8dcc-1fff8b1ac8ac 
x-aspnet-version: 4.0.30319 
server: Microsoft-IIS/8.0 
cache-control: private 
x-beserver: AM2PR05MB1089 
x-diaginfo: AM2PR05MB1089 
x-feserver: BN1PR08CA0019 
set-cookie: exchangecookie=309073c961cb44798302c8eb2fee0188; expires=Sun, 23-Apr-2017 07:40:28 GMT; path=/; HttpOnly 
date: Sat, 23 Apr 2016 07:40:28 GMT 
odata-version: 4.0 
content-type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8 
x-backendhttpstatus: 404 
{"error":{"code":"ErrorFolderNotFound","message":"The specified folder could not be found in the store."}} 

我的问题:

  1. 在Office 365的REST API不支持在线交流归档的许可证?如果他们被支持,那么为什么我得到404错误消息“指定的文件夹找不到”?

回答

0

正如我测试的,如果用户在Exchange Online上没有主邮箱,您将收到404错误。例如,Azure AD中不存在用户或Azure AD中存在用户,但没有Exchange Online许可证(Compare Exchange Online plans

对于您的情况,用户许可证是“Exchange Online Archiving”,即这是一款基于云计算的企业级归档解决方案,可帮助您解决存档,合规性,监管和电子发现挑战。但它不会向用户提供Exchange Online上的主邮箱,这就是为什么用户在尝试查找主邮箱时会收到404错误。

更新#1:

我认为混合环境是如下:交易所内部部署+的Exchange Online(Exchange Online的方案1或2 + Exchange联机存档)。

部分用户邮箱完全处于Exchange联机状态,但其他用户的邮箱位于本地Exchange Server(请纠正我,如果我有任何误解)。

目前,Office 365 API不支持访问实现邮箱。

对于主邮箱位于内部部署Exchange Server上的用户。由于Office 365 API适用于Exchange Online,但不适用于Exchange本地,因此您无法在这些用户上使用Office 365 API。 enter image description here

对于主邮箱位于Exchange联机(Exchange Online计划1或2个用户)上的用户,您将能够使用Office 365 API访问该邮箱。

要访问内部部署Exchange Server中的邮箱,可以考虑使用EWS API

+0

我只提供正确的用户名。在上述请求中,我出于隐私原因有意删除了实际的用户电子邮件ID。 access_token也一样。 – Naveen

+0

@Naveen,在比较了“Exchange Online Archiving”和“Exchange Online Plan”后,我更新了我的答案。 –

+0

Jeffrey Chen - MSFT:主邮箱存在错误信息不同。如果用户的主邮箱不存在,则相同的API返回_“(404,u'{”error“:{”code“:”ErrorNonExistentMailbox“,”message“:”SMTP地址没有与之关联的邮箱。 }“)”_。对于不同的租户,观察到邮箱错误。虽然我上面报道的那个说:“指定的文件夹无法在商店中找到。”。所以这两个是不同的场景。 – Naveen

相关问题