Получение доступа к специальной папке по ее имени

Используйте специальную коллекцию для доступа к специальной папке по имени.

Применение специальных папок обеспечивает доступ к известным папкам в OneDrive с помощью простых псевдонимов, благодаря чему можно не искать папку по пути (что потребует локализации) и не ссылаться на нее с использованием идентификатора. Если специальная папка будет переименована или перемещена в другое расположение на диске, такой синтаксис по-прежнему позволит найти ее.

Когда приложение впервые пробует записать что-то в специальную папку, она создается автоматически, если не была создана ранее. Если пользователь удалил такую папку, она создается повторно при записи в нее.

Примечание: Если у вас есть разрешения только для чтения и вы запрашиваете специальную папку, которая не существует, вы получите сообщение об ошибке 403 Forbidden .

Разрешения

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешения Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Files.ReadWrite.AppFolder, Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Для приложений Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

HTTP-запрос

GET /me/drive/special/{special-folder-name}

Имена специальных папок

Указанные ниже имена специальных папок доступны в OneDrive и OneDrive для бизнеса.

Имя Идентификатор папки Описание
Корневая папка приложения approot Личная папка приложения. Обычно расположена в папке /Apps/{Application Name}
Альбом камеры cameraroll Папка для резервных копий альбома камеры.
Рабочий стол desktop Папка "Рабочий стол".
Документы documents Папка "Документы".
Музыка music Папка "Музыка".
Фотографии photos Папка "Фотографии".

Необязательные параметры запросов

Этот метод поддерживает $expandпараметры запроса OData и $select для настройки ответа.

HTTP-ответ

Этот метод возвращает код ответа 200 OK и объект driveItem в теле ответа.

Вы можете использовать этот метод обращения к специальной папке наряду с дополнительными вызовами к свойствам или связям в ресурсе driveItem.

HTTP/1.1 200 OK
Content-type: application/json

{
  "id": "0123456789abc",
  "name": "Documents",
  "eTag": "012345819293.1",
  "specialFolder": {
    "name": "documents"
  }
}

Получение дочернего элемента специальной папки

Чтобы получить дочерний элемент специальной папки, вы можете запросить коллекцию children или использовать параметр expand для расширения коллекции дочерних элементов.

HTTP-запрос

GET /me/drive/special/{special-folder-name}/children

HTTP-ответ

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {"name": "myfile.jpg", "size": 2048 },
    {"name": "Documents", "folder": { "childCount": 4} },
    {"name": "Photos", "folder": { "childCount": 203} },
    {"name": "my sheet(1).xlsx", "size": 197 }
  ]
}

Примечания

Примечание. Элементы DriveItem с аспектом specialFolder указывают, что элемент представляет собой специальную папку, и доступ к нему можно получить через коллекцию special.

Если у вашего приложения есть разрешения только для чтения, то запрос на получение специальной папки или ее дочерних элементов может завершиться ошибкой 404 Not Found или 403 Forbidden, если специальная папка еще не существует.