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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

Источник: https://habr.com/ru/articles/749172/


Интересные статьи

Интересные статьи

В этой статье мы рассмотрим способ как дать пользователю возможность загружать какие-либо файлы, к примеру текстуры. И немного затронем тему запуска JS функций из C# в рамках Unity.
Недавно у меня появилось желание попробовать создать свою собственную Android библиотеку и выложить ее на Maven Central репозиторий. Это оказалось не так просто, как я думал. В интернете полно непонят...
Как мы помним, в 2018 году максимальный срок действия публичных сертификатов SSL/TLS уменьшили до 825 дней, а в 2020 году — до 398 дней (13 месяцев). Соответствующие решения в 2018−2020 годы принял Фо...
Существуют разные способы создания монорепозитория в node.js, есть разные библиотеки для этих целей: yarn workspaces, lerna и так далее. Но сегодня я хочу коротко рассказ...
При разработке проекта постала необходимость удалять файлы, созданные приложением во время своего выполнения. Но требовалось, чтобы файлы удалялись не по завершению сеанса, работы ПК, а по треб...