C#/REST API — не удалось удалить файл на сайте Sharepoint 365

Я пытаюсь загрузить и удалить файлы из библиотеки документов starepoint. Чтение работает нормально для всех сайтов ("корневых", сайтов 1-го уровня, сайтов 2-го уровня), например:

  • нашsharepoint.sharepoint.com
  • нашsharepoint.sharepoint.com/DEV
  • нашsharepoint.sharepoint.com/sites/DEV

Также удаление допустимо для корневых сайтов и сайтов 1-го уровня. Но, если я хочу удалить файл с сайта 2-го уровня, возвращается ОШИБКА 403 ЗАПРЕЩЕНО.

Есть идеи, что случилось?

ПОЛУЧИТЬ URL-адрес:

oursharepoint.sharepoint.com//sites/DEV/_api/web/GetFolderByServerRelativeUrl('Shared documents')/Files('Document.docx')/$value

УДАЛИТЬ URL:

oursharepoint.sharepoint.com//sites/DEV/_api/web/GetFolderByServerRelativeUrl('Shared documents')/Files('Document.docx')

Код для удаления:

var sReq = WebRequest.Create(url) as HttpWebRequest;
if (sReq != null)
{
sReq.Method = "DELETE";
sReq.AllowAutoRedirect = false;
sReq.CookieContainer = new CookieContainer();
sReq.CookieContainer.Add(IssuedRtfaCookie);
sReq.CookieContainer.Add(IssuedSamlCookie);

sReq.Headers.Add("X-RequestDigest", RequestDigest);
sReq.Headers.Add("X-HTTP-Method", "DELETE");
sReq.Headers.Add("IF-MATCH", "*");

var sRes = sReq.GetResponse() as HttpWebResponse;
}

Спасибо за любую помощь!


person Tom    schedule 29.09.2017    source источник


Ответы (1)


Я думаю, что папка «2-го уровня» считается файлом, а не папкой. Получить список всех файлов в библиотеке и удалить по одному

person Mike Twc    schedule 11.05.2018