2016-04-26 69 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