Требование сохранить элемент до получения токена REST в результатах компоновки в пустой элемент черновика - PullRequest
0 голосов
/ 19 октября 2018

O365 возвращает следующую ошибку, когда наше приложение пытается получить токен REST в Compose:

Запрос:

Office.initialize = 
    () => Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, 
    res => console.log(res));

Ответ:

{
  "name": "CanOnlyGetTokenForSavedItem",
  "message": "The token can't be retrieved until the item is saved.",
  "code": 9029
}

Решениечтобы сохранить элемент с помощью Office API:

Office.context.mailbox.item.saveAsync(
  function callback(result) {
    // Process the result
  });

Мы подтвердили, что этот подход работает, ОДНАКО, он также оставит пустое сообщение в папке «Черновики», если пользователь позже решит отказаться от того, что пользователь делает сприложение сообщения / создания.

Я думаю, что это должно обрабатываться Outlook, а не приложением, и Outlook должен удалить элемент, если сообщение было оставлено.

1 Ответ

0 голосов
/ 20 октября 2018

Для Outlook это черновик.Такое поведение ожидается, даже с опцией автоматического сохранения Outlook, сообщение сохраняется в папке черновиков.Пользователь должен явно удалить его из папки черновиков.

Outlook не будет добровольно удалять сообщение, сохраненное пользователем / надстройкой, поскольку это приведет к потере данных (если Outlook это сделает).

Но если вы сохраняете сообщение и уверены, что его можно удалить, это можно сделать с помощью EWS / REST.

...