Как получить архивный почтовый ящик на месте в Exchange Online с помощью API Office 365

Я хочу получить список папок/электронных писем внутри почтовых ящиков на месте. Но и список почтовых ящиков, и список папок не возвращают почтовые ящики на месте.

Это то, что я пробовал до сих пор:

  1. Получить почтовые ящики, используя следующий запрос

Запрос:

https://outlook.office365.com/api/v1.0/users('[email protected]')

Ответ:

{
    "@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": "[email protected]",
    "DisplayName": "User Name",
    "Alias": "user1",
    "MailboxGuid": "12312312-a498-46d1-93a8-870cd3faffec"
}
  1. Получить список папок

Запрос:

https://outlook.office365.com/api/v1.0/users('[email protected]')/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('[email protected]')/Folders('ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=')",
        "Id": 'ABCDA3AYxNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAABgaA9RAAA=',
        "DisplayName": "Clutter",
        "ParentFolderId": "ABCDAAVCNjE2NjQyLWE0OTgtNDZkMy05M2E4LTg3MGNkM2ZhZmZlYwAuAAAAAACbFtMO1RLxQoChh4quwNSoAQChU257vJJfSLjbblRIqUFSAAAAAAEIAAA=",
        "ChildFolderCount": 0,
        "UnreadItemCount": 0,
        "TotalItemCount": 1
    },
    {
.... other folders like Inbox, Conversations, Conversations history etc.
    }]
}

Можно ли заставить его использовать унифицированные API Office 365? Если нет, то есть ли альтернатива? Если да, то как почтовые ящики на месте обрабатываются Exchange Online; на уровне папки (не похоже) или на уровне почтовых ящиков пользователя?

Примечание. Я изменил конфиденциальную информацию в запросах и ответах.


person Naveen    schedule 29.04.2016    source источник


Ответы (3)


Можно ли заставить его использовать унифицированные API Office 365? Если нет, то есть ли альтернатива?

Архивные почтовые ящики (называемые архивом на месте в Exchange Online) — это дополнительные почтовые ящики, связанные с пользователем. API Office 365 не поддерживает доступ к архивным почтовым ящикам.

Кстати, достижение является функцией Exchange, API EWS поддерживает архивирование элемента, но также не поддерживает перечисление писем в почтовом ящике достижения (Архивация в EWS в Exchange).

Для запроса новой функции API Office 365 вы можете отправить его на UserVoice платформы разработчиков Office.

person Jeffrey Chen    schedule 02.05.2016
comment
Доступ к In-Place Archive возможен через MS Graph API. Пожалуйста, смотрите ответ ниже. - person Morten E. Rasmussen; 21.06.2019

ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/me/mailFolders/{id}/childFolders Здесь в качестве идентификатора можно использовать общеизвестные имена папок. Это archivemsgfolderroot для архивного почтового ящика.

person Denis    schedule 29.08.2017
comment
Это правильный ответ. Просто вызовите graph.microsoft.com/v1.0/me/mailFolders/ архивmsgfolderroot/ - person Morten E. Rasmussen; 21.06.2019
comment
это больше не работает. - person Max Kaps 4bis.nl; 07.04.2021

Вы можете использовать «известное» имя папки

ArchiveMsgFolderRoot

для доступа к архивному почтовому ящику на месте. Например, чтобы получить все сообщения из папки «Входящие» внутри архивного почтового ящика на месте, используйте следующий запрос:

GET https://graph.microsoft.com/v1.0/me/mailFolders/ArchiveMsgFolderRoot/childFolders/Inbox/messages

Примечание: он также использует другой предопределенный идентификатор папки (Inbox)

Немного больше подробностей на как работать с In-Place Archive Mailbox через Graph API

и полный список известные имена папок

person druss    schedule 27.02.2020
comment
Это было возможно до марта. Теперь его нет. Кроме того, ArchiveMsgFolderRoot не является частью известная папка, поддерживаемая MS Graph. - person Alfredo R; 22.05.2020
comment
Подтверждаю, больше нельзя. - person Max Kaps 4bis.nl; 07.04.2021