Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Получение коллекции ресурсов thumbnailSet для ресурса driveItem .
Не более ресурсов thumbnailSet может представлять объект driveItem.
Каждый ресурс thumbnailSet может включать один или несколько объектов thumbnail — изображений, представляющих элемент.
К примеру, ресурс thumbnailSet может включать такие распространенные объекты thumbnail, как small
, medium
и large
.
Существует множество способов работы с эскизами в OneDrive. Ниже представлены наиболее распространенные из них.
- Перечисление доступных эскизов элемента
- Получение одного эскиза элемента
- Получение содержимого эскиза
- Получение эскизов нескольких элементов в одном запросе
- Получение эскизов настраиваемых размеров
- Отправка пользовательского эскиза элемента
- Определение того, существует ли отправленный пользовательский эскиз
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Files.Read | Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | Files.Read | Files.Read.All, Files.ReadWrite, Files.ReadWrite.All |
Приложение | Files.Read.All | Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
HTTP-запрос
GET /drives/{drive-id}/items/{item-id}/thumbnails
GET /groups/{group-id}/drive/items/{item-id}/thumbnails
GET /me/drive/items/{item-id}/thumbnails
GET /sites/{site-id}/drive/items/{item-id}/thumbnails
GET /users/{user-id}/drive/items/{item-id}/thumbnails
Необязательные параметры запросов
Этот метод поддерживает $select
параметр запроса OData для настройки ответа.
Кроме того, этот метод поддерживает получение эскиза с исходным значением EXIF ориентации и без примененного поворота путем добавления originalOrientation=true
параметра запроса.
В настоящее время он поддерживается только в OneDrive Personal.
Отклик
В случае успеха этот метод возвращает код отклика 200 OK
и коллекцию объектов ThumbnailSet в теле отклика.
Пример
В следующем примере показан запрос, который получает доступные эскизы для элемента в OneDrive текущего пользователя.
GET /me/drive/items/{item-id}/thumbnails
Он возвращает массив доступных наборов эскизов для элемента. У любого элемента в объекте drive может быть один или несколько эскизов (либо ни одного эскиза).
Примечание. С помощью параметра select строки запроса вы можете указывать размеры эскизов, возвращаемых в объекте ThumbnailSet.
Например, запрос /thumbnails?select=medium
получает только эскизы среднего размера.
Отклик
Ниже показан пример отклика.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "0",
"small": { "height": 64, "width": 96, "url": "https://sn3302files..."},
"medium": { "height": 117, "width": 176, "url": "https://sn3302files..."},
"large": { "height": 533, "width": 800, "url": "https://sn3302files..."}
}
]
}
Получение одного эскиза
Получение метаданных для одного эскиза и размера с помощью прямого запроса.
HTTP-запрос
GET /me/drive/items/{item-id}/thumbnails/{thumb-id}/{size}
Параметры пути
Имя | Тип | Описание |
---|---|---|
item-id | string | Уникальный идентификатор элемента. |
thumb-id | number | Индекс эскиза (как правило, 0–4). Если есть настраиваемый эскиз, его индекс равен 0. |
size | string | Размер запрашиваемого эскиза. Это может быть один из стандартных размеров, перечисленных ниже, или пользовательский размер. |
HTTP/1.1 200 OK
Content-Type: application/json
{
"width": 100,
"height": 100,
"url": "https://onedrive.com/asd123a/asdjlkasjdkasdjlk.jpg"
}
Получение двоичного содержимого эскиза
Вы можете получить содержимое эскиза напрямую, запросив свойство content этого эскиза.
HTTP-запрос
GET /me/drive/items/{item-id}/thumbnails/{thumb-id}/{size}/content
Отклик
В ответ служба выполняет перенаправление на URL-адрес эскиза.
HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi
URL-адреса эскизов не кэшируются. URL-адрес изменяется, если элемент изменяется способом, требующим создания нового эскиза.
Получение эскизов при перечислении driveItems
Если вы извлекаете список ресурсов driveItem для отображения, можно использовать параметр строки запроса $expand , чтобы также включить эскизы для этих ресурсов. Это позволяет приложению получать эскизы и элементы в одном запросе, а не отправлять много запросов.
HTTP-запрос
GET /me/drive/items/{item-id}/children?$expand=thumbnails
Отклик
Служба возвращает список ресурсов DriveItem и их эскизов.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "182331E8-2788-4932-B52A-A6550577043F",
"name": "my photo.jpg",
"thumbnails": [
{
"small": { "width": 96,
"height": 96,
"url": "https://sn3302files..."
}
}
]
},
{
"id": "2D223953-A56B-4D9B-ADF3-13E7820673A2",
"name": "presentation.pptx",
"thumbnails": [
{
"small": { "width": 96,
"height": 96,
"url": "https://sn3302files..."
}
}
]
}
]
}
Значения размера
В этой таблице определены возможные размеры эскизов. Хотя вы можете указать в запросе произвольный размер эскиза, определенные значения встречаются намного чаще и позволяют быстрее получить результат.
Имя | Разрешение | Пропорции | Описание |
---|---|---|---|
small |
96 для большей стороны | Исходные | Небольшой эскиз с сильным сжатием, обрезанный до квадрата. |
medium |
176 для большей стороны | Исходные | Обрезан до стандартного размера элемента для веб-представления OneDrive. |
large |
800 для большей стороны | Исходные | Эскиз, длина большей стороны которого изменена на 800 пикселей. |
smallSquare |
96x96 | Квадратная обрезка | Небольшой квадратный эскиз |
mediumSquare |
176x176 | Квадратная обрезка | Небольшой квадратный эскиз |
largeSquare |
800x800 | Квадратная обрезка | Большой квадратный эскиз |
Запрос эскизов настраиваемых размеров
Помимо определенных размеров, приложение может запрашивать эскизы пользовательских размеров, указав ширину и высоту с префиксом c
.
Например, если вашему приложению нужны эскизы размером 300x400, оно может запросить размер следующим образом:
GET /me/drive/items/{item-id}/thumbnails?select=c300x400_crop
В ответ вы получите только эскиз выбранного размера:
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "0",
"c300x400_crop": { "height": 300, "width": 400, "url": "https://sn3302files.onedrive.com/123"},
}
]
}
Запросив размер эскиза, вы можете указать следующие параметры:
Примеры пользовательских идентификаторов
Идентификатор эскиза | Разрешение | Пропорции | Описание |
---|---|---|---|
c300x400 | Заключен в прямоугольник размером 300x400 | Исходные | Создается эскиз, который помещается в прямоугольник размером 300x400 пикселей с сохранением пропорций. |
c300x400_crop | 300x400 | Обрезанный | Создается эскиз размером 300x400. Он работает путем изменения размера изображения, чтобы заполнить поле 300x400 и обрезать все, что разливается за пределами коробки. |
Заметка: Возвращенный эскиз может не точно соответствовать запрошенным размерам пикселей, но соответствует пропорциям. В некоторых случаях возвращаются эскизы большего размера, если эскиз уже существует и легко масштабируется до запрашиваемого разрешения.
Примечания
Примечание. В OneDrive для бизнеса и SharePoint:
Использование этих вызовов для расширения коллекции эскизов не работает:
GET /drive/root:/{item-path}?expand=children(expand=thumbnails)
GET /drive/items/{item-id}/children?expand=thumbnails
Эскизы не поддерживаются в SharePoint Server 2016.
Ответы с ошибками
Дополнительные сведения о том, как возвращаются ошибки, см. в разделе Ответы на ошибки.