Документация для Office 365 JSON - интерфейс для веб-приложений - PullRequest
0 голосов
/ 25 марта 2020

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 минут, чтобы получить информацию в этом посте; Должен быть более быстрый путь.

...