Несоответствие токена приложения Outlook Mac App
Я внедряю надстройку для Outlook, надстройка получает вложение и отправляет его на мой сервер для обработки. Он работает безупречно на https://outlook.office.com/ но не запускает Outlook 2016 для Mac.
Вот API, к которому я пытаюсь получить доступ:
var getMessageUrl =Office.context.mailbox.restUrl + '/v2.0/me/messages/' +
{messageID} + "/attachments/" + {attachmentID};
var attachmentID = Office.context.mailbox.item.attachments[0].id;
var messageID = getItemRestId();
$.ajax({
url: getMessageUrl,
dataType: 'json',
headers: {
'Authorization': 'Bearer ' + outlookToken
}
}).done(function 1(response) {
//upload the blob to my server
}).fail(function (error) {
//call authorise to get a new token
});
function getItemRestId() {
if (Office.context.mailbox.diagnostics.hostName === 'OutlookIOS') {
// itemId is already REST-formatted
return Office.context.mailbox.item.itemId;
} else {
// Convert to an item ID for API v2.0
return Office.context.mailbox.convertToRestId(
Office.context.mailbox.item.itemId,
Office.MailboxEnums.RestVersion.v2_0
);
}
}
Используя Outlook 2016 для Mac, я получаю 401
из приведенного выше API.
Так же auth_token
Я получаю от звонка getCallbackTokenAsync
в Outlook 2016 для Mac отличается от того, что я получаю в браузере:
Office.context.mailbox.getCallbackTokenAsync({isRest: true}, function (result) {
if (result.status === "succeeded") {
//save result.value
}
else {
//error condition
}
});
Значения в моем манифесте:
<Set Name="MailBox" MinVersion="1.3"/>
<Permissions>ReadWriteMailbox</Permissions>
Может кто-то указать, что я здесь делаю не так?
ОБНОВЛЕНИЕ Согласно предложению Джейсона, я проверил токен, полученный на jwt.io. Версии токена различаются в браузере и в приложении Mac.
On the Browser: "ver": "Exchange.Callback.V2" On the Mac App: "ver": "Exchange.Callback.V1"
Как мне получить outlook_mac_app для возврата v2 токена?
1 ответ
Я не могу комментировать, поэтому публикую это как ответ.
Я нажимал 403 для вложений в Outlook для Mac 2016, не уверен, что они связаны, но вы можете посмотреть его здесь https://github.com/OfficeDev/outlook-add-in-command-demo/issues/30