yandex-disk-php
Описание
Комплексный PHP SDK для Yandex Disk API: управление файлами и папками, загрузка/скачивание, публикация, метаданные, корзина и операции. Интеграция с Laravel (фасад, провайдер), удобные модели и расширенная обработка ошибок. Полное покрытие официального API.
Языки
- PHP100%
Yandex Disk PHP SDK
🔗 GitHub Repository: https://github.com/tigusigalpa/yandex-disk-php
🌐 Язык: Русский | English
Полноценный PHP SDK для работы с Yandex Disk API. Библиотека предлагает простой и понятный интерфейс для управления файлами и каталогами на Яндекс.Диске и полностью охватывает возможности официального API.
📋 Справочник API
| Метод | Эндпоинт | Документация | Описание |
|---|---|---|---|
| - | OAuth Guide | Генерация URL авторизации OAuth |
| | Disk Info | Получение информации о диске |
| | Metadata | Получение метаданных ресурса |
| | Add Metadata | Добавление пользовательских метаданных |
| | All Files | Получение плоского списка всех файлов |
| | Recent Uploads | Получение недавно загруженных файлов |
| | Published Files | Получение недавно опубликованных файлов |
| | Create Folder | Создание папки |
| | Upload File | Загрузка файла |
| | Upload from URL | Загрузка файла из интернета |
| | Download File | Скачивание файла |
| | Copy Resource | Копирование файла/папки |
| | Move Resource | Перемещение файла/папки |
| | Delete Resource | Удаление файла/папки |
| | Publish Resource | Публикация ресурса |
| | Unpublish Resource | Отмена публикации ресурса |
| | Available Settings | Получение доступных публичных настроек |
| | Public Settings | Получение публичных настроек ресурса |
| | Change Settings | Изменение публичных настроек |
| | Public Metadata | Получение метаданных публичного ресурса |
| | Download Public | Скачивание публичного ресурса |
| | Save Public Resource | Сохранение публичного ресурса |
| | Trash List | Получение содержимого корзины |
| | Restore from Trash | Восстановление из корзины |
| | Clear Trash | Очистка корзины |
| | Operation Status | Получение статуса операции |
| | Owned Resources | Администратор: публичные ресурсы пользователя |
| | Accessible Resources | Администратор: доступные пользователю ресурсы |
| | Admin Unpublish | Администратор: отмена публикации ресурса |
🔐 Получение OAuth-токена
Чтобы использовать Yandex Disk API, нужен OAuth‑токен. Выполните следующие шаги:
1. Создание приложения на Яндекс OAuth
- Перейдите на Yandex OAuth: https://oauth.yandex.ru/ под своей учётной записью
- Нажмите «+ Создать»
- В появившемся окне выберите «Для доступа к API или отладки» и нажмите «Перейти к созданию»
- Заполните форму:
- Название сервиса: Укажите имя вашего приложения
- Почта для связи: Ваш контактный e‑mail
- Доступ к данным: Отметьте нужные права:
— Запись в любом месте на Дискеcloud_api:disk.write— Чтение всего Дискаcloud_api:disk.read— Доступ к папке приложения на Дискеcloud_api:disk.app_folder— Доступ к информации о Дискеcloud_api:disk.info
После создания приложения вы увидите:
- ClientID — потребуется для получения OAuth‑токена
- Client secret — для операций с Яндекс.Диском не нужен
2. Генерация ссылки авторизации
Воспользуйтесь функцией для получения URL авторизации:
Либо соберите URL вручную:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>
3. Получение токена
- Откройте сгенерированный URL
- Войдите в аккаунт Яндекса (если требуется)
- Предоставьте запрашиваемые права вашему приложению
- После подтверждения произойдёт редирект на страницу с токеном в URL
- Скопируйте токен со страницы, например: y0__xCD2tUFGKDjOyD2-Myl...
4. Использование токена
Создавайте клиент с этим токеном:
Примеры использования
Информация о диске
Работа с ресурсами
Операции с файлами
Загрузка файла
Скачивание файла
Копирование файла
Перемещение файла
Удаление файла
Операции с папками
Список файлов и папок
Управление метаданными
Управление публичным доступом
Публикация ресурса
Получение опубликованных файлов
Отмена публикации ресурса
Управление публичными настройками
Работа с публичными ресурсами
Управление корзиной
Загрузка из URL
Методы администратора организации
🚀 Интеграция с Laravel
Установка
Конфигурация
Выполните публикацию конфигурационного файла:
В добавьте:
Использование
🔧 Обработка ошибок
В SDK реализована расширенная обработка ошибок с собственными исключениями:
📊 Покрытие API
| Категория | Реализовано | Всего | Процент |
|---|---|---|---|
| Информация о диске | ✅ 1 | 1 | 100% |
| Операции с файлами | ✅ 8 | 8 | 100% |
| Публичные ресурсы | ✅ 8 | 8 | 100% |
| Управление корзиной | ✅ 3 | 3 | 100% |
| Метаданные | ✅ 2 | 2 | 100% |
| Методы администратора | ✅ 3 | 3 | 100% |
| Операции | ✅ 1 | 1 | 100% |
| Всего | ✅ 26 | 26 | 100% |
🤝 Участие в разработке
Мы открыты к участию — присылайте Pull Request.
📄 Лицензия
Пакет распространяется по лицензии MIT. Подробности — в файле LICENSE.
🔗 Ссылки
📞 Поддержка
Для проблем, вопросов или вкладов:
- Создайте issue на GitHub
- Проверьте официальную документацию
- Ознакомьтесь с руководством по устранению неполадок
Создано с ❤️ для сообщества PHP