В новом уроке мы с вами рассмотрим работу с корзиной Яндекс.Диска через API с использованием PHP и Curl. Я вам расскажу о том как восстанавливать файлы из корзины и как очищать корзину.
Полный список всех записей курса находится на сайте https://prog-time.ru/course_cat/yandeks-disk-api-php/ или в публикациях на Хабр https://habr.com/ru/users/Prog-Time/posts/
Прежде чем работать с корзиной вам необходимо отправить запрос на получение ресурсов в корзине, чтобы точно знать пути к файлам в корзине, иначе у вас будет выводиться ошибка связанная с указанием неправильного пути.
Ранее мы уже рассматривали метод для получения ресурсов из корзины.
Запросы будут отправляться на https://cloud-api.yandex.net/v1/disk/trash/resources, а сам метод будет выглядеть так:
/** * Получение директорий * * @param array $arrParams параметры для получения ресурсов * @param string $typeDir тип области ресурсов * * @return array */ public function disk_resources(array $arrParams, string $typeDir = ''): array { switch ($typeDir) { case 'trash': /* запрос для директорий в корзине */ $urlQuery = 'https://cloud-api.yandex.net/v1/disk/trash/resources'; break; default: /* запрос для активных директорий */ $urlQuery = 'https://cloud-api.yandex.net/v1/disk/resources'; break; } return $this->sendQueryYaDisk($urlQuery, $arrParams); }
Восстановление файла или папки из Корзины Яндекс.Диска
Давайте начнём с восстановления файлов помещённых в корзину. Для восстановления файла мы будем отправлять запрос на:
https://cloud-api.yandex.net/v1/disk/trash/resources/restore.
В качестве параметра передаётся путь до ресурса и новое название файла.
|
|
Путь к восстанавливаемому ресурсу относительно корневого каталога Корзины. Путь в значении параметра следует кодировать в URL-формате. |
|
|
Новое имя восстанавливаемого ресурса. Например, selfie.png. |
|
|
Признак перезаписи. Учитывается, если ресурс восстанавливается в папку, в которой уже есть ресурс с таким именем. Допустимые значения: |
Путь до файла нужно прописывать в точности как нам возвращает его запрос на https://cloud-api.yandex.net/v1/disk/trash/resources.
/** * Метод для востановления файла из корзины * * @param array $arrParams * @return array */ public function disk_trash_resources_restore(array $arrParams): array { $urlQuery = 'https://cloud-api.yandex.net/v1/disk/trash/resources/restore'; return $this->sendQueryYaDisk($urlQuery, $arrParams, 'PUT'); }
Пример параметров передаваемых в запрос на восстановление файлов.
$arrParams = [ 'path' => 'trash:/%2Fuploads_750d7fff9b63b29538e5f4d8961a599c3517a76b', 'name' => 'uploads_test', ]; $backupClass = new Backup(); $resultQuery = $backupClass->disk_trash_resources_restore($arrParams);
Удаление файлов из корзины Яндекс.Диска через API
Для того чтобы отчистить корзину в Яндекс.Диске через API нужно отправить запрос на https://cloud-api.yandex.net/v1/disk/trash/resources с параметром path указывающим путь до файла который нужно удалить.
Если вы не передадите параметр path, то корзина отчистится полностью.
/** * Метод для удаления файлов из корзины * * @param array $arrParams * @return array */ public function disk_trash_resources_delete(array $arrParams): array { $urlQuery = 'https://cloud-api.yandex.net/v1/disk/trash/resources'; return $this->sendQueryYaDisk($urlQuery, $arrParams, 'DELETE'); }
В новом уроке мы с вами рассмотрели методы для работы с корзиной, научились восстанавливать и удалять файлы из корзины.
В следующем уроке я вам покажу упрощённую версию класса для работы с API Яндекс.Диска.
ссылка на оригинал статьи https://habr.com/ru/articles/749174/
Добавить комментарий