В первом документе описан HTML-заголовок, который нужно установить при вызовах Microsoft Graph или Exchange REST API. Это может быть важно для вас позже, в зависимости от того, как вы используете идентификатор.
Чтобы получить неизменяемый идентификатор для элемента Outlook:
- Получите идентификатор элемента EWS из
Office.context.mailbox.item.itemId
- Выполните удаленный вызов службы для API
translateExchangeIds
REST для обмена идентификатором REST на неизменяемый идентификатор
Это неполный пример того, как вызыватьAPI REST из надстройки Outlook. В нем отсутствует токен доступа, поскольку для translateExchangeIds
REST API требуются разрешения User.ReadBasic
, что не входит в область действия токена, возвращаемого API getClientAccessToken. Этот сокращенный пример основан на выполнении вызовов REST API из статьи надстройки Outlook, в которой содержится дополнительная информация о выполнении других запросов, подобных этой.
var accessToken = "" // Need access token with User.ReadBasic or greater permissions
var itemIdFormat = "ewsId";
var translateExchangeIdsUrl = Office.context.mailbox.restUrl +
'/v2.0/me/translateExchangeIds/';
$.ajax({
type: 'POST',
url: translateExchangeIdsUrl,
data: JSON.stringify({
InputIds : [
Office.context.mailbox.item.itemId
],
"SourceIdType": itemIdFormat,
"TargetIdType": "restImmutableEntryId"
}),
contentType: 'application/json',
dataType: 'json',
processData: false,
headers: { 'Authorization': 'Bearer ' + accessToken }
}).done(function(result){
console.log(result);
}).fail(function(error){
console.error(error);
});
Вы также можете создатьзапрос функции для API неизменяемого идентификатора на стороне клиента в надстройках Outlook UserVoice . Запросы функций в UserVoice рассматриваются, когда мы проходим процесс планирования.