如何使用 Office 365 API 在 Exchange Online 中获取就地存档邮箱
How to get In-Place archive mailbox in Exchange Online using Office 365 APIs
我想获取就地邮箱中 folders/emails 的列表。但是邮箱列表和文件夹列表都没有 returns 就地邮箱。
这是我到目前为止尝试过的方法:
- 使用以下请求获取邮箱
要求:
https://outlook.office365.com/api/v1.0/users('someuser@somedomain.onmicrosoft.com')
回复:
{
"@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Users/$entity",
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('12637010-f344-4827-9e3b-21218392985d@649b37da-e479-45dc-a099-fda797d7fcee')",
"Id": "12637010-f344-4827-9e3b-21218392985d@649b37da-e479-45dc-a099-fda797d7fcee",
"EmailAddress": "someuser@somedomain.onmicrosoft.com",
"DisplayName": "User Name",
"Alias": "user1",
"MailboxGuid": "12312312-a498-46d1-93a8-870cd3faffec"
}
- 获取文件夹列表
要求:
https://outlook.office365.com/api/v1.0/users('someuser@somedomain.onmicrosoft.com')/folders?$top=100
回复:
{
"@odata.context": "https://outlook.office365.com/api/v1.0/$metadata#Users('someuser%40somedomain.onmicrosoft.com')/Folders",
"value": [{
"@odata.id": "https://outlook.office365.com/api/v1.0/Users('someuser@somedomain.onmicrosoft.com')/Folders('ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=')",
"Id": 'ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=',
"DisplayName": "Clutter",
"ParentFolderId": "ABCDAAVCNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAAAAAAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 1
},
{
.... other folders like Inbox, Conversations, Conversations history etc.
}]
}
是否可以使用 Office 365 统一 API 获取它?如果没有,还有其他选择吗?如果是,Exchange online 如何处理 In-Place 邮箱;文件夹级别(看起来不像)或用户级别邮箱?
注意:我更改了请求和响应中的敏感信息
Is it possible to get it use Office 365 unified APIs? If not, is there any alternative?
存档邮箱(在 Exchange Online 中称为就地存档)是与用户关联的辅助邮箱。 Office 365 API 不支持访问存档邮箱。
顺便说一句,实现是Exchange的一个特性,EWSAPI支持归档项目,但也不支持在实现邮箱中列出邮件(Archiving in EWS in Exchange)。
对于 Office 365 的新功能请求 API,您可以考虑在 Office Developer Platform UserVoice 上提交。
GET https://graph.microsoft.com/v1.0/me/mailFolders/{id}/childFolders
这里作为 id 您可以使用众所周知的文件夹名称。它是归档邮箱的 archivemsgfolderroot。
您可以使用 "well-known" 文件夹名称
ArchiveMsgFolderRoot
访问就地存档邮箱。
例如,要从就地存档邮箱中的收件箱文件夹中获取所有邮件,请使用以下查询:
GET https://graph.microsoft.com/v1.0/me/mailFolders/ArchiveMsgFolderRoot/childFolders/Inbox/messages
注意:它还使用另一个预定义的文件夹 ID (Inbox
)
的更多详细信息
的完整列表
我想获取就地邮箱中 folders/emails 的列表。但是邮箱列表和文件夹列表都没有 returns 就地邮箱。
这是我到目前为止尝试过的方法:
- 使用以下请求获取邮箱
要求:
https://outlook.office365.com/api/v1.0/users('someuser@somedomain.onmicrosoft.com')
回复:
{
"@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Users/$entity",
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('12637010-f344-4827-9e3b-21218392985d@649b37da-e479-45dc-a099-fda797d7fcee')",
"Id": "12637010-f344-4827-9e3b-21218392985d@649b37da-e479-45dc-a099-fda797d7fcee",
"EmailAddress": "someuser@somedomain.onmicrosoft.com",
"DisplayName": "User Name",
"Alias": "user1",
"MailboxGuid": "12312312-a498-46d1-93a8-870cd3faffec"
}
- 获取文件夹列表
要求:
https://outlook.office365.com/api/v1.0/users('someuser@somedomain.onmicrosoft.com')/folders?$top=100
回复:
{
"@odata.context": "https://outlook.office365.com/api/v1.0/$metadata#Users('someuser%40somedomain.onmicrosoft.com')/Folders",
"value": [{
"@odata.id": "https://outlook.office365.com/api/v1.0/Users('someuser@somedomain.onmicrosoft.com')/Folders('ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=')",
"Id": 'ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=',
"DisplayName": "Clutter",
"ParentFolderId": "ABCDAAVCNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAAAAAAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 1
},
{
.... other folders like Inbox, Conversations, Conversations history etc.
}]
}
是否可以使用 Office 365 统一 API 获取它?如果没有,还有其他选择吗?如果是,Exchange online 如何处理 In-Place 邮箱;文件夹级别(看起来不像)或用户级别邮箱?
注意:我更改了请求和响应中的敏感信息
Is it possible to get it use Office 365 unified APIs? If not, is there any alternative?
存档邮箱(在 Exchange Online 中称为就地存档)是与用户关联的辅助邮箱。 Office 365 API 不支持访问存档邮箱。
顺便说一句,实现是Exchange的一个特性,EWSAPI支持归档项目,但也不支持在实现邮箱中列出邮件(Archiving in EWS in Exchange)。
对于 Office 365 的新功能请求 API,您可以考虑在 Office Developer Platform UserVoice 上提交。
GET https://graph.microsoft.com/v1.0/me/mailFolders/{id}/childFolders 这里作为 id 您可以使用众所周知的文件夹名称。它是归档邮箱的 archivemsgfolderroot。
您可以使用 "well-known" 文件夹名称
ArchiveMsgFolderRoot
访问就地存档邮箱。 例如,要从就地存档邮箱中的收件箱文件夹中获取所有邮件,请使用以下查询:
GET https://graph.microsoft.com/v1.0/me/mailFolders/ArchiveMsgFolderRoot/childFolders/Inbox/messages
注意:它还使用另一个预定义的文件夹 ID (Inbox
)