user: translateExchangeIds

Пространство имен: microsoft.graph

Перевод идентификаторов ресурсов, связанных с Outlook, между форматами.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

В следующих таблицах показаны минимальные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурсов. Следуйте рекомендациям , чтобы запросить разрешения с наименьшими привилегиями. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Разрешения на перевод идентификаторов Exchange для пользователя, выполнившего вход:

POST /me/translateExchangeIds
Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) User.ReadBasic.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.Read, User.Read.All, User.ReadWrite, User.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) User.Read User.ReadWrite
Для приложений Не поддерживается. Не поддерживается.

Разрешения на перевод идентификаторов Exchange для пользователя:

POST /users/{id | userPrincipalName}/translateExchangeIds
Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) User.ReadBasic.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.Read, User.Read.All, User.ReadWrite, User.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) User.Read User.ReadWrite
Для приложений User.Read.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.ReadWrite.All

HTTP-запрос

Чтобы перевести идентификаторы Exchange для вошедшего пользователя с помощью делегированных разрешений (/me), выполните следующие действия:

POST /me/translateExchangeIds

Чтобы перевести идентификаторы Exchange с помощью делегированных разрешений или разрешений приложений, выполните следующие действия:

POST /users/{id | userPrincipalName}/translateExchangeIds

Заголовки запросов

Имя Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

Параметр Тип Описание
inputIds Коллекция строк Коллекция идентификаторов для преобразования. Все идентификаторы в коллекции ДОЛЖНЫ иметь один и тот же тип исходного идентификатора и должны быть для элементов в одном почтовом ящике. Максимальный размер этой коллекции — 1000 строк.
sourceIdType exchangeIdFormat Тип идентификатора идентификаторов в параметре inputIds .
targetIdType exchangeIdFormat Запрошенный тип идентификатора для преобразования.

Значения exchangeIdFormat

Member Описание
entryId Формат идентификатора двоичной записи, используемый клиентами MAPI.
ewsId Формат идентификатора, используемый клиентами веб-служб Exchange.
immutableEntryId Двоичный формат неизменяемого идентификатора, совместимый с MAPI.
restId Формат идентификатора по умолчанию, используемый Microsoft Graph.
restImmutableEntryId Неизменяемый формат идентификатора, используемый Microsoft Graph.

Двоичные форматы (entryId и immutableEntryId) являются безопасными для URL-адресов в кодировке Base64. Безопасность URL-адресов реализуется путем изменения кодировки base64 двоичных данных следующим образом:

  • Заменить + на -
  • Заменить / на _
  • Удаление всех конечных символов с заполнением (=)
  • Добавьте целое число в конец строки, указывающее, сколько символов заполнений было в исходном (0, 1или 2).

Отклик

В случае успешного выполнения этот метод возвращает 200 OK код отклика и коллекцию convertIdResult в тексте отклика.

Пример

В следующем примере показано, как преобразовать несколько идентификаторов из обычного формата REST API (restId) в неизменяемый формат REST (restImmutableEntryId).

Запрос

Ниже представлен пример запроса.

POST https://graph.microsoft.com/v1.0/me/translateExchangeIds
Content-Type: application/json

{
  "inputIds" : [
    "{rest-formatted-id-1}",
    "{rest-formatted-id-2}"
  ],
  "sourceIdType": "restId",
  "targetIdType": "restImmutableEntryId"
}

Отклик

Ниже приведен пример ответа.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "sourceId": "{rest-formatted-id-1}",
      "targetId": "{rest-immutable-formatted-id-1}"
    },
    {
      "sourceId": "{rest-formatted-id-2}",
      "targetId": "{rest-immutable-formatted-id-2}"
    }
  ]
}