У меня есть приложение NodeJS Deamon, использующее разрешения приложения Sites.ReadWrite.All (сервер без пользователя), которое создает новую страницу на сайте SharePoint.Благодаря этому посту я смог успешно создать страницу с некоторым innerHTML. Создание страниц на сайте sharepoint с графиком Microsoft .
Проблема в том, что мне нужно опубликовать страницу, но при публикации в API публикации она возвращает 401 Запрещено.Я могу подумать не над чем, и я волнуюсь, что есть фундаментальная проблема, поскольку один и тот же пользователь должен создавать и публиковать, но после создания страница кажется недоступной и вообще без пользователя.Даже как администратор я не вижу неопубликованные страницы сайта, которые создаются в SharePoint, но я вижу, что общее количество элементов в папке увеличивается при каждом запуске.
// Create page with Graph API
main.createPage = function(siteId, page, token) {
console.log("createPage");
var url = ("https://graph.microsoft.com/beta/sites/" + siteId + "/pages/");
return axios
.post(url, page,
{ headers: { Authorization: `Bearer ${token}` }}
)
.catch(err => console.error(err));
}
После создания сайтаpage Я получаю pageId = result.data.id и передаю его в API публикации.
// Publish page POST /sites/{siteId}/pages/{pageId}/publish
main.publishPage = function(siteId, pageId, token) {
console.log("publishPage");
var url = ("https://graph.microsoft.com/beta/sites/" + siteId + "/pages/" + pageId + "/publish");
return axios
.post(url,
{ headers: { Authorization: `Bearer ${token}` }}
)
.catch(err => console.error(err));
}
response:
{ status: 401,
statusText: 'Unauthorized'