Начало работы
API Яндекс Диска доступен по адресу https://webdav.yandex.ru. Соединение должно производиться по протоколу HTTPS (порт 443).
Для доступа к данным какого-либо пользователя приложение должно быть авторизовано посредством Basic-аутентификации или OAuth-токена.
Basic-аутентификация
Приложения могут получать доступ к Дискам пользователей с помощью логинов и паролей в рамках механизма Basic-аутентификации протокола HTTP.
Для получения доступа создайте пароль приложения с типом Файлы и укажите этот пароль в настройках сервиса, который будет использовать API Яндекс Диска.
Для Basic-аутентификации каждый запрос приложения к Яндекс Диску должен содержать заголовок Authorization
следующего вида:
Authorization: Basic <токен доступа>
Токен доступа здесь — это строка вида <логин>:<пароль>
в кодировке base64.
Авторизация приложения с помощью OAuth-токена
Приложения могут получать доступ к Дискам пользователей с помощью OAuth-токенов. Каждый токен предоставляет определенному приложению доступ к данным определенного пользователя.
Чтобы использовать протокол OAuth при работе с Яндекс Диском:
-
Зарегистрируйте свое OAuth-приложение.
-
Войдите в аккаунт на Яндексе.
-
Откройте страницу создания приложения.
-
Укажите название вашего сервиса и при необходимости прикрепите иконку.
-
Выберите платформы, на которых будет работать ваше приложение, и укажите их параметрыпараметры.
Если вы разрабатываете или тестируете приложение, используйте отладочный токен. Для получения такого токена выберите Веб-сервисы и в поле Redirect URI подставьте значение по умолчанию, которое появится в подсказке Подставить URL для отладки:
https://oauth.yandex.ru/verification_code
. -
В разделе Доступ к данным выберите «Доступ к Яндекс Диску для приложений» —
yadisk:disk
. -
Укажите электронную почту для связи.
-
Внизу страницы нажмите Создать приложение. На экране появятся его описание.
-
Скопируйте идентификатор приложения из поля ClientID — он потребуется для получения OAuth-токена. В дальнейшем открыть страницу со всеми вашими приложениями вы сможете по ссылке oauth.yandex.ru/.
-
-
Получите OAuth-токены для доступа к данным пользователей любым подходящим способом.
Отладочный токен необходимо получить вручную:
-
Перейдите по ссылке
https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>
Вместо
<ClientID>
подставьте идентификатор приложения из пункта 1.8. -
Если токен вашему приложению выдается впервые, откроется экран авторизации. После входа Яндекс OAuth перенаправит вас на страницу с токеном. Подробнее об отладочных токенах.
-
Полученный токен следует передавать в заголовке Authorization
при каждом вызове API Диска, указывая тип токена перед его значением. Пример такого заголовка:
Authorization: OAuth 0c4181a7c2cf4521964a72ff57a34a07