Начало работы

API Яндекс Диска доступен по адресу https://webdav.yandex.ru. Соединение должно производиться по протоколу HTTPS (порт 443).

Для доступа к данным какого-либо пользователя приложение должно быть авторизовано посредством Basic-аутентификации или OAuth-токена.

Basic-аутентификация

Приложения могут получать доступ к Дискам пользователей с помощью логинов и паролей в рамках механизма Basic-аутентификации протокола HTTP.

Для получения доступа создайте пароль приложения с типом Файлы и укажите этот пароль в настройках сервиса, который будет использовать API Яндекс Диска.

Для Basic-аутентификации каждый запрос приложения к Яндекс Диску должен содержать заголовок Authorization следующего вида:

Authorization: Basic <токен доступа>

Токен доступа здесь — это строка вида <логин>:<пароль> в кодировке base64.

Авторизация приложения с помощью OAuth-токена

Приложения могут получать доступ к Дискам пользователей с помощью OAuth-токенов. Каждый токен предоставляет определенному приложению доступ к данным определенного пользователя.

Чтобы использовать протокол OAuth при работе с Яндекс Диском:

  1. Создайте свое OAuth-приложение по инструкции из Справки OAuth Яндекс ID. В разделе Доступ к данным укажите необходимые права доступа из тех, которые используются в API Яндекс Диска:

    • Запись в любом месте на Диске — cloud_api:disk.write;
    • Чтение всего Диска — cloud_api:disk.read;
    • Доступ к папке приложения на Диске — cloud_api:disk.app_folder;
    • Доступ к информации о Диске — cloud_api:disk.info.
  2. На странице приложения скопируйте идентификатор приложения из поля ClientID — он потребуется для получения OAuth-токена. В дальнейшем открыть страницу со всеми вашими приложениями вы сможете по ссылке oauth.yandex.ru.

  3. Получите OAuth-токен:

    1. Перейдите по ссылке
    https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>
    

    Вместо <ClientID> подставьте значение идентификатора приложения.

    1. Если токен вашему приложению выдается впервые или срок жизни предыдущего токена истек, откроется экран авторизации. Войдите в сервис.

    2. Скопируйте значение токена с открывшейся страницы и сохраните его.

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

      Сервис Яндекс OAuth не хранит выдаваемые токены в публичном доступе. Если вы не сохранили токен, вы можете получить его еще раз.

    Полученный токен следует передавать в заголовке Authorization при каждом вызове API Диска, указывая тип токена перед его значением. Пример такого заголовка:

    Authorization: OAuth 0c4181a7c2cf4521964a72ff57a34a07
    

Полную информацию об OAuth-авторизации и токенах читайте в документации OAuth-сервиса Яндекса.

Следующая