Несоответствие токена приложения 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

Другие вопросы по тегам