В новом уроке мы с вами рассмотрим запросы для копирования, перемещения и удаления файлов с помощью 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);
}

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

Комментарии (0)