403: Запрещенная ошибка на api restpoint онлайн при чтении / обновлении списка sharepoint - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь подключить мое приложение 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

Чтение списка также не удалось с той же ошибкой с помощью кода и почтальона.

...