Я пытаюсь подключить мое приложение nodejs для обновления / чтения элементов списка из https://xyz.sharepoint.com/sites/dev/_api/web/lists/GetByTitle ('listname').
Использование аутентификации надстройки sharepoint, когда приложение было зарегистрировано на xyz Страница регистрации .sharepoint.com. с разрешением файла манифеста для приложения, установленным на fullcontrol:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl"/>
</AppPermissionRequests>
Используется следующий код:
var sprequest=require('sp-request')
let spr = sprequest.create({
clientId:'clientid',
clientSecret:'client secret'
});
spr.requestDigest('https://xyz.sharepoint.com/sites/dev')
.then(digest => {
return spr.post('https://xyz.sharepoint.com/sites/dev/_api/web/lists/GetByTitle(\'listname\')', {
body: {
'__metadata': { 'type': 'SP.List' },
'Title': 'TesList'
},
headers: {
'X-RequestDigest': digest,
'X-HTTP-Method': 'MERGE',
'IF-MATCH': '*'
}
});
})
.then(response => {
if (response.statusCode === 204) {
console.log('List title updated!');
}
}, err => {
if (err.statusCode === 404) {
console.log('List not found!');
} else {
console.log(err);
}
});
Мне удалось получить токен аутентификации, но запрос POST к api sharepoint online (часть spr.post в коде) завершается с ошибкой 403: запрещен. («Доступ запрещен. У вас нет разрешения на выполнение этого действия или доступ к этому ресурсу».) Я также пытался использовать почтальон и всегда получаю та же ошибка. Я не понимаю, что происходит дальше, кто-нибудь может помочь, это связано с областью приложения? какая-то проблема в файле манифеста?
Регистрация приложения выполнена на онлайн-сайте sharepoint, как упомянуто в статье - https://medium.com/@anoopt / accessing-sharepoint-data-using-postman-sharepoint-rest-api-76b70630bcbf
Чтение списка также не удалось с той же ошибкой с помощью кода и почтальона.