Как стать автором
Обновить

API Яндекс.Диск (PHP) #4: Публикация и удаление файлов

Время на прочтение3 мин
Количество просмотров1.2K

В новом уроке мы с вами рассмотрим запросы для копирования, перемещения и удаления файлов с помощью PHP и Curl в облаке API Яндекс.Диска.

Полный список всех записей курса находится на сайте https://prog-time.ru/course_cat/yandeks-disk-api-php/ или в публикациях на Хабр https://habr.com/ru/users/Prog-Time/posts/

Удаление файла в Яндекс.Диске с помощью API

Начнём с создания метода для удаления файлов. Для удаления файла нужно отправить запрос на https://cloud-api.yandex.net/v1/disk/resources/ с указанием параметра текущего пути до файла и типа удаления (безвозвратное удаление или перемещение в корзину).

/**
 * Удаление ресурса с Яндекс.Диск
 *
 * @param  array $arrParams
 * @return array
 */
public function disk_resources_delete(array $arrParams): array
{
    $urlQuery = 'https://cloud-api.yandex.net/v1/disk/resources/';
    return $this->sendQueryYaDisk($urlQuery, $arrParams, 'DELETE');
}

Публикация файла или папки в Яндекс.Диске с помощью API

Отправив запрос на Яндекс.Диск вы так же можете получить список опубликованных файлов. Для получения списка публичных файлов необходимо отправить GET запрос на https://cloud-api.yandex.net/v1/disk/resources/public

limit

Количество опубликованных файлов, описание которых следует вернуть в ответе (например, для постраничного вывода). Значение по умолчанию — 20.

offset

Количество ресурсов с начала списка, которые следует опустить в ответе (например, для постраничного вывода). Допустим, на Диске три опубликованных файла. Если запросить их список с параметром offset=1, API Диска вернет только описания второго и третьего файлов.

type

Тип ресурса. Допустимые значения:"dir" — папка;"file" — файл.

fields

Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений. Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например: name,_embedded.items.path.

preview_size

Требуемый размер уменьшенного изображения (превью файла), ссылку на которое Диск должен вернуть в ключе preview. Вы можете задать как точный размер превью, так и размер одной из сторон. Получившееся изображение можно обрезать до квадрата с помощью параметра preview_crop.

Варианты значений:

Предопределенный размер большей стороны.
Картинка уменьшается до указанного размера по большей стороне, пропорции исходного изображения сохраняются. Например, для размера S и картинки размером 120×200 будет сгенерировано превью размером 90×150, а для картинки 300×100 — превью размером 150×50.

Поддерживаемые значения:
"S" — 150 пикселей;
"M" — 300 пикселей;
"L" — 500 пикселей;
"XL" — 800 пикселей;
"XXL" — 1024 пикселей;
"XXXL" — 1280 пикселей.

Точная ширина (например, "120" или "120x") или точная высота (например, "x145").
Картинка уменьшается до указанной ширины или высоты, пропорции исходного изображения сохраняются.
Если передан параметр preview_crop, из центра уменьшенного изображения также вырезается квадрат с заданной стороной.

Точный размер (в формате <ширина>x<высота>, например "120x240").
Картинка уменьшается до меньшего из указанных размеров, пропорции исходного изображения сохраняются.
Если передан параметр preview_crop, из центра оригинального изображения вырезается фрагмент максимального размера в заданных пропорциях ширины и высоты (в примере — один к двум). Затем вырезанный фрагмент масштабируется до указанных размеров.

В моё случае я так же использую для этого отдельный метод и он будет выглядеть так

/**
 * Получение списка публичных файлов с Яндекс.Диска
 *
 * @param  array $arrParams
 * @return array
 */
public function disk_resources_public(array $arrParams): array
{
    $urlQuery = 'https://cloud-api.yandex.net/v1/disk/resources/public';
    return $this->sendQueryYaDisk($urlQuery, $arrParams);
}

В новом уроке мы с вами научились публиковать файлы находящиеся на Яндекс.Диске. В следующем уроке мы рассмотрим методы для работы с корзиной.

Теги:
Хабы:
Всего голосов 10: ↑1 и ↓9-8
Комментарии0

Публикации

Истории

Работа

PHP программист
127 вакансий

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область