JavaScript API Office 2016 для Word, методы body.getHtml() и body.getOoxml() не работают
При попытке извлечь тело документа Office 2016 Word с помощью надстройки Word 2016 Word, методы java Script API body.getHtml() и body.getOoxml() не работают; Возвращается ошибка "Отладочная информация: {" errorLocation ":" Body.getHtml "}"
Справочный документ -: http://dev.office.com/reference/add-ins/word/body
Вот мой код:
Word.run(function (context) {
// Create a proxy object for the document body.
var body = context.document.body;
// Queue a commmand to get the HTML contents of the body.
var bodyHTML = body.getHtml();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync().then(function () {
$('#output').text("Body HTML contents: " + bodyHTML.value);
});
})
.catch(function (error) {
$('#output').text("Error: " + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
$('#output').text("Debug info: " + JSON.stringify(error.debugInfo));
}
});
Я что-то здесь упускаю?
Полный объект ошибки::{"name": "OfficeExtension.Error", "code": "AccessDenied", "message": "AccessDenied", "traceMessages": [], "debugInfo": {"errorLocation": "Body".getHtml"},"stack":"AccessDenied: AccessDenied\n для анонимной функции ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:150094) \ n в yi ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163912) \ n на st ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163999) \ n на d ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163819) \ n на c ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:162405) "}
Код ошибки 5009 -> Надстройка не имеет разрешения для вызова определенного API.
Уже пробовал -: https://github.com/OfficeDev/office-js-snippet-explorer/issues/13 Успеха пока нет!
1 ответ
Вы используете приложение API Tutorial App в Word, чтобы попробовать этот пример, или вы написали свое собственное приложение? Я только что попробовал образец в API Tutorial App (который доступен в Магазине), и он работает просто отлично.
// Run a batch operation against the Word object model.
Word.run(function (context) {
// Create a proxy object for the document body.
var body = context.document.body;
// Queue a commmand to get the HTML contents of the body.
var bodyHTML = body.getHtml();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync().then(function () {
console.log("Body HTML contents: " + bodyHTML.value);
});
})
.catch(function (error) {
console.log("Error: " + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});