Onenote API,从JavaScript进行PATCH时的奇怪行为

Onenote API, strange behavior when PATCH from JavaScript

本文关键字:PATCH API JavaScript 进行 Onenote      更新时间:2023-09-26

我的网络中有一个Kendo编辑器,还有一个将内容保存到OneNote的按钮。

保存按钮调用此功能:

updatePageContent: function (pageId, elementId, content) {
        deferred = $q.defer();
        var Request = new XMLHttpRequest();
        Request.open('PATCH', 'https://www.onenote.com/api/beta/pages/' + pageId + '/content');
        Request.setRequestHeader('Content-Type', 'application/json');
        Request.setRequestHeader('Authorization', 'Bearer ' + onenoteApi.token);
        Request.onreadystatechange = onPageUpdated;
        var body = [{
              'target': elementId,
              'action': 'replace',
              'content': '<div data-id=content>' +
                                content +
                         '</div>'
        }]
        Request.send(JSON.stringify(body));
        return deferred.promise;
    }

前两次效果很好,但当我尝试第三次时,发生了一些奇怪的事情。

示例:

我有一个带有文本的默认段落,我添加了另一个:

默认文本

bla1

省吃俭用。所以我再加一段:

默认文本

bla1

bla2

省吃俭用。另一个:

默认文本

bla1

bla2

bla3

保存,这是onenote:中的结果

bla1

默认文本

bla1

bla2

bla3

并且阻止分页,如果我再次尝试PATCH,则会出现拒绝访问错误。

这是OneNote API中的一个错误,已在服务器端修复。感谢您的报道!