Onenote API,从 JavaScript 进行 PATCH 时的奇怪行为
Onenote API, strange behavior when PATCH from JavaScript
我的网站上有一个 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;
}
并且前两次工作正常,但是当我尝试第三次时,发生了一些奇怪的事情。
示例:
我有一个带文本的默认段落,我添加了另一个:
Default text
bla1
好好保存。所以我再添加一段:
Default text
bla1
bla2
好好保存。另一个:
Default text
bla1
bla2
bla3
保存,onenote中的结果是这样的:
bla1
Default text
bla1
bla2
bla3
并阻止页面,如果我再次尝试 PATCH,则会出现访问被拒绝的错误。
这是 OneNote API 中的错误,已在服务器端修复。感谢举报!
我的网站上有一个 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;
}
并且前两次工作正常,但是当我尝试第三次时,发生了一些奇怪的事情。
示例:
我有一个带文本的默认段落,我添加了另一个:
Default text
bla1
好好保存。所以我再添加一段:
Default text
bla1
bla2
好好保存。另一个:
Default text
bla1
bla2
bla3
保存,onenote中的结果是这样的:
bla1
Default text
bla1
bla2
bla3
并阻止页面,如果我再次尝试 PATCH,则会出现访问被拒绝的错误。
这是 OneNote API 中的错误,已在服务器端修复。感谢举报!