Office 365 (размещенная версия) имеет интерфейс на основе JSON для приложений JavaScript, работающих в веб-браузере для доступа к данным Office 365. Вот как веб-интерфейс Microsoft получает информацию из серверной части.
Этот интерфейс отличается от GraphQL API. Вместо того, чтобы использовать токен доступа, он использует учетные данные аутентификации браузера пользователя. В частности, в сообщении POST требуются следующие заголовки HTTP:
- Cook ie
- X-OWA-CANARY
- X-OWA-CorrelationId
- X-OWA-SessionId
- X-OWA-UserPostData
- X-Req_Source
- Действие
Чтобы получить пользовательский автоответчик, этот URL доступен с HTTP POST. Например, чтобы получить автоответчик почтового ящика, можно использовать этот URL:
Тело сообщения содержит:
action=GetMailboxAutoReplyConfiguration
EP=1
app=Calendar
n=13
n=25
Ответом является JSON сообщение, которое выглядит следующим образом:
{
"Header": {
"ServerVersionInfo": {
"MajorVersion": 15,
"MinorVersion": 20,
"MajorBuildNumber": 2856,
"MinorBuildNumber": 19,
"Version": "V2018_01_08"
}
},
"Options": {
"CreateOOFEvent": false,
"OOFEventSubject": "",
"Recipients": null,
"ReminderMinutesBeforeStart": -1,
"ReminderMessage": "",
"ReminderMessageText": "\r\n",
"DeclineAllEventsForScheduledOOF": false,
"DeclineEventsForScheduledOOF": false,
"AutoDeclineFutureRequestsWhenOOF": true,
"EventsToDeleteIDs": null,
"AutoReplyState": 0,
"EndTime": "2020-03-20T15:00:00Z",
"ExternalAudience": 0,
"ExternalMessage": "<html><head><meta name=\"Generator\" content=\"Microsoft Exchange Server\">\n<!-- converted from text -->\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style></head>\n<body>\n<font size=\"2\"><span style=\"font-size:11pt;\"><div class=\"PlainText\">I am unable to respond to email. \n</div></span></font>\n</body>\n</html>\n",
"InternalMessage": "<html><head><meta name=\"Generator\" content=\"Microsoft Exchange Server\">\n<!-- converted from text -->\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style></head>\n<body>\n<font size=\"2\"><span style=\"font-size:11pt;\"><div class=\"PlainText\">I am unable to respond to email. Please call my assistant if you need me. \n</div></span></font>\n</body>\n</html>\n",
"DeclineMeetingMessage": "",
"ExternalMessageText": "I am unable to respond to email.\r\n",
"InternalMessageText": "I am unable to respond to email. Please call my assistant if you need me.\r\n",
"DeclineMeetingMessageText": "\r\n",
"StartTime": "2020-03-19T15:00:00Z"
},
"WasSuccessful": true,
"ErrorCode": 0,
"ErrorMessage": null,
"UserPrompt": null,
"IsUserError": false
}
Мой вопрос: есть ли документация для этого API? (Я не могу их найти.) Если нет, есть ли простой способ сбора информации об API из браузера? Мне потребовалось 30 минут, чтобы получить информацию в этом посте; Должен быть более быстрый путь.