Изменение формы отклика с помощью параметров запроса

API OneDrive предоставляет ряд необязательных параметров запросов, с помощью которых можно управлять тем, какие данные возвращаются в отклике.

В этом разделе:

Выбор свойств

С помощью параметра select строки запроса вы можете указать разделенный запятыми список свойств, возвращаемых для ресурсов Item.

Пример

В этом примере при получении дочерних элементов возвращаются только свойства name и size.

GET /drive/root/children?select=name,size

Если отправить запрос со строкой select=name,size, в ответ будут включены только значения этих свойств. При использовании оператора select необходимо указывать все возвращаемые свойства.

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

{
  "value": [
    {
      "id": "13140a9sd9aba",
      "name": "Documents",
      "size": 1024
    },
    {
      "id": "123901909124a",
      "name": "Pictures",
      "size": 1012010210
    }
  ]
}

Расширение коллекций

В запросах API OneDrive дочерние коллекции не развертываются автоматически. Эта особенность позволяет уменьшить сетевой трафик и время создания ответа службой. Однако в некоторых случаях эти результаты может потребоваться включить в ответ.

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

Например, с помощью параметра expand можно получить сведения о корневом диске и элементах верхнего уровня на диске, как в приведенном ниже примере. Кроме того, в этом примере используется оператор select, чтобы возвращались только свойства id и name дочерних элементов.

GET /drive/root?expand=children(select=id,name)

Запрос возвращает элементы коллекции с развернутой дочерней коллекцией.

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

{
  "id": "12312312541",
  "name": "root",
  "size": 218753122201,
  "webUrl": "https://onedrive.live.com/?cid=0f040...",
  "folder": {
    "childCount": 4
  },
  "children": [
    {
      "id": "F04AA961744A809!48443",
      "name": "Applications",
    },
    {
      "id": "F04AA961744A809!92647",
      "name": "Attachments",
    },
    {
      "id": "F04AA961744A809!93269",
      "name": "Balsmiq Sketches",
    },
    {
      "id": "F04AA961744A809!65191",
      "name": "Camera imports",
    }
  ]
}

Сортировка коллекций

С помощью строки запроса orderby вы можете управлять порядком сортировки элементов, возвращаемых из API OneDrive. Для коллекции элементов используйте перечисленные ниже поля в параметре orderby.

  • name
  • size
  • lastModifiedDateTime

Обратите внимание, что в OneDrive для бизнеса и SharePoint Server 2016 строка запроса orderby работает только со свойствами name и url.

Чтобы отсортировать результаты по возрастанию или убыванию, добавьте asc или desc к имени поля, разделив их пробелом, например: ?orderby=name%20desc.

Например, чтобы возвращалось содержимое корня диска в OneDrive, упорядоченное по убыванию размера, используйте следующий синтаксис: /drive/items/root/children?orderby=size%20desc.

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

Ниже представлена таблица необязательных параметров запросов OData, которые можно использовать в запросах к API OneDrive.

Имя Значение Состояние Описание
expand строка доступен Разделенный запятыми список отношений, развертываемых и включаемых в ответ. Например, чтобы получить дочерние элементы папки, используйте следующий синтаксис: expand=children.
select строка доступен Разделенный запятыми список свойств, включаемых в ответ.
skipToken строка доступен Токен разбиения на страницы, используемый для получения следующего набора результатов.
top int доступен Количество элементов, возвращаемых в наборе результатов. В API OneDrive может действовать жесткое ограничение, не позволяющее запрашивать больше элементов в одном ответе.
orderby строка доступен Разделенный запятыми список свойств, используемых для управления порядком элементов в коллекции ответа. Поддерживаются поля name, size и lastModifiedDateTime.
filter строка недоступен Строка фильтра, позволяющая отфильтровать ответ по набору условий.

Примечание. В стандарте OData перед этими терминами добавляется префикс $. API OneDrive поддерживает использование этих параметров запросов как со специальным знаком, так и без него. Однако использование символа $ для этих аргументов должно быть согласованным в рамках запроса.