yandex-disk-php

0

Описание

Комплексный PHP SDK для Yandex Disk API: управление файлами и папками, загрузка/скачивание, публикация, метаданные, корзина и операции. Интеграция с Laravel (фасад, провайдер), удобные модели и расширенная обработка ошибок. Полное покрытие официального API.

Языки

  • PHP100%
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md

Yandex Disk PHP SDK

Yandex Disk PHP SDK

🔗 GitHub Repository: https://github.com/tigusigalpa/yandex-disk-php

PHP Version License Yandex Disk API Laravel

🌐 Язык: Русский | English

Полноценный PHP SDK для работы с Yandex Disk API. Библиотека предлагает простой и понятный интерфейс для управления файлами и каталогами на Яндекс.Диске и полностью охватывает возможности официального API.

📋 Справочник API

МетодЭндпоинтДокументацияОписание
getAuthorizationUrl()
-OAuth GuideГенерация URL авторизации OAuth
getCapacity()
GET /
Disk InfoПолучение информации о диске
getMeta()
GET /resources
MetadataПолучение метаданных ресурса
addMeta()
PATCH /resources
Add MetadataДобавление пользовательских метаданных
getAllFiles()
GET /resources/files
All FilesПолучение плоского списка всех файлов
getRecentUploads()
GET /resources/last-uploaded
Recent UploadsПолучение недавно загруженных файлов
getRecentPublished()
GET /resources/public
Published FilesПолучение недавно опубликованных файлов
createFolder()
PUT /resources
Create FolderСоздание папки
uploadFile()
GET /resources/upload
Upload FileЗагрузка файла
uploadFromUrl()
POST /resources/upload
Upload from URLЗагрузка файла из интернета
downloadFile()
GET /resources/download
Download FileСкачивание файла
copy()
POST /resources/copy
Copy ResourceКопирование файла/папки
move()
POST /resources/move
Move ResourceПеремещение файла/папки
delete()
DELETE /resources
Delete ResourceУдаление файла/папки
publish()
PUT /resources/publish
Publish ResourceПубликация ресурса
unpublish()
PUT /resources/unpublish
Unpublish ResourceОтмена публикации ресурса
getAvailablePublicSettings()
GET /public/resources/public-settings/available
Available SettingsПолучение доступных публичных настроек
getPublicSettings()
GET /public/resources/public-settings
Public SettingsПолучение публичных настроек ресурса
changePublicSettings()
PUT /resources/public
Change SettingsИзменение публичных настроек
getPublicResourceMeta()
GET /public/resources
Public MetadataПолучение метаданных публичного ресурса
downloadPublicResource()
GET /public/resources/download
Download PublicСкачивание публичного ресурса
savePublicResource()
POST /public/resources/save
Save Public ResourceСохранение публичного ресурса
getTrash()
GET /trash/resources
Trash ListПолучение содержимого корзины
restoreFromTrash()
PUT /trash/resources/restore
Restore from TrashВосстановление из корзины
clearTrash()
DELETE /trash/resources
Clear TrashОчистка корзины
getOperationStatus()
GET /operations/{id}
Operation StatusПолучение статуса операции
getPublicResourcesOwnedByUser()
GET /public/resources/admin/public-resources
Owned ResourcesАдминистратор: публичные ресурсы пользователя
getPublicResourcesAccessedByUser()
GET /public/resources/admin/accessible-resources
Accessible ResourcesАдминистратор: доступные пользователю ресурсы
unpublishUserResource()
PUT /public/resources/admin/unpublish
Admin UnpublishАдминистратор: отмена публикации ресурса

🔐 Получение OAuth-токена

Чтобы использовать Yandex Disk API, нужен OAuth‑токен. Выполните следующие шаги:

1. Создание приложения на Яндекс OAuth

  1. Перейдите на Yandex OAuth: https://oauth.yandex.ru/ под своей учётной записью
  2. Нажмите «+ Создать»
  3. В появившемся окне выберите «Для доступа к API или отладки» и нажмите «Перейти к созданию»
  4. Заполните форму:
    • Название сервиса: Укажите имя вашего приложения
    • Почта для связи: Ваш контактный e‑mail
    • Доступ к данным: Отметьте нужные права:
      • cloud_api:disk.write
        — Запись в любом месте на Диске
      • cloud_api:disk.read
        — Чтение всего Диска
      • cloud_api:disk.app_folder
        — Доступ к папке приложения на Диске
      • cloud_api:disk.info
        — Доступ к информации о Диске

После создания приложения вы увидите:

  • ClientID — потребуется для получения OAuth‑токена
  • Client secret — для операций с Яндекс.Диском не нужен

2. Генерация ссылки авторизации

Воспользуйтесь функцией

getAuthorizationUrl()
для получения URL авторизации:

Либо соберите URL вручную:

https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>

3. Получение токена

  1. Откройте сгенерированный URL
  2. Войдите в аккаунт Яндекса (если требуется)
  3. Предоставьте запрашиваемые права вашему приложению
  4. После подтверждения произойдёт редирект на страницу с токеном в URL
  5. Скопируйте токен со страницы, например:
    y0__xCD2tUFGKDjOyD2-Myl...

4. Использование токена

Создавайте клиент с этим токеном:

Примеры использования

Информация о диске

Работа с ресурсами

Операции с файлами

Загрузка файла

Скачивание файла

Копирование файла

Перемещение файла

Удаление файла

Операции с папками

Список файлов и папок

Управление метаданными

Управление публичным доступом

Публикация ресурса

Получение опубликованных файлов

Отмена публикации ресурса

Управление публичными настройками

Работа с публичными ресурсами

Управление корзиной

Загрузка из URL

Методы администратора организации

🚀 Интеграция с Laravel

Установка

Конфигурация

Выполните публикацию конфигурационного файла:

В

.env
добавьте:

Использование

🔧 Обработка ошибок

В SDK реализована расширенная обработка ошибок с собственными исключениями:

📊 Покрытие API

КатегорияРеализованоВсегоПроцент
Информация о диске✅ 11100%
Операции с файлами✅ 88100%
Публичные ресурсы✅ 88100%
Управление корзиной✅ 33100%
Метаданные✅ 22100%
Методы администратора✅ 33100%
Операции✅ 11100%
Всего✅ 2626100%

🤝 Участие в разработке

Мы открыты к участию — присылайте Pull Request.

📄 Лицензия

Пакет распространяется по лицензии MIT. Подробности — в файле LICENSE.

🔗 Ссылки

📞 Поддержка

Для проблем, вопросов или вкладов:


Создано с ❤️ для сообщества PHP

Ресурсы