Синхронный API

class yadisk.Client(id: str = '', secret: str = '', token: str = '', *, default_args: dict[str, Any] | None = None, session: Session | Literal['httpx'] | Literal['pycurl'] | Literal['requests'] | None = None, open_file: Callable[[str | bytes, Literal['rb', 'wb']], BinaryIO] | None = None, session_factory: Callable[[], Session] | None = None)[исходный код]

Реализует доступ к REST API Яндекс.Диска (предоставляет синхронный API).

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

Почти все методы Client (те, которые принимают **kwargs) принимают некоторые дополнительные параметры:

  • n_retries - int, максимальное число повторных попыток запроса

  • retry_interval - float, задержка между повторными попытками (в секундах)

  • headers - dict или None, дополнительные заголовки запроса

  • timeout - tuple ((<connect timeout>, <read timeout>)) или float (указывает одновременно и connect и read timeout), таймаут запроса в секундах

Дополнительные параметры, относящиеся к конкретной HTTP библиотеке могут также быть переданы, см. документацию для конкретных подклассов Session (Доступные реализации сессий).

Параметры:
  • id – идентификатор приложения

  • secret – пароль приложения

  • token – токен

  • default_argsdict или None, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.

  • sessionNone, str или объект Session. Если session - строка, то нужный класс будет автоматически импортирован, допустимые значения: * "httpx" - HTTPXSession * "pycurl" - PycURLSession * "requests" - RequestsSession

  • open_fileNone или функция, которая открывает файл для чтения или записи (open() по умолчанию)

  • session_factory – оставлен для совместимости, функция, возвращающая объект Session

Переменные:
  • idstr, идентификатор приложения

  • secretstr, пароль приложения

  • tokenstr, токен

  • default_argsdict, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.

  • session – текущая сессия (объект Session)

  • open_file – функция, которая открывает файл для чтения или записи (open() по умолчанию)

Большинство запросов к API могут вызвать следующие исключения:

Исключение:
close() None[исходный код]

Закрывает сессию. Не вызывайте этот метод, пока другие потоки используют этот объект.

Этот метод может также быть вызван неявно с помощью конструкции with.

yadisk.YaDisk

псевдоним для Client

Аутентификация

Client.check_token(token: str | None = None, /, **kwargs) bool[исходный код]

Проверяет, действителен ли токен.

Параметры:
  • token – токен, подлежащий проверке, то же самое, что self.token при None

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Результат:

bool

Client.get_auth_url(type: Literal['code', 'token'], device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]

Получает URL для аутентификации для пользователя. Данный метод не отправляет никаких HTTP запросов.

Параметры:
  • type – тип ответа («code», чтобы получить код подтверждения или «token», чтобы получить токен автоматически)

  • device_id – уникальный идентификатор устройства, от 6 до 50 символов

  • device_name – имя устройства, не более 100 символов

  • redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения

  • display – ничего не делает, оставлен для совместимости

  • login_hint – username или email аккаунта, для которого будет получен токен

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

  • force_confirm – Если True, пользователь должен будет разрешить доступ к аккаунту, даже если он уже это сделал до этого

  • state – Строка состояния, которую Яндекс.OAuth возвращает без изменений (<= 1024 символов)

  • code_challenge – строка, полученная из сгенерированного значения code_verifier с помощью одного из двух возможных преобразований (plain или S256)

  • code_challenge_method – Указывает функцию, которая будет использована для преобразования значения code_verifier, возможные значения: "plain" и "S256" (рекомендуется). Если используется "S256", значение code_challenge должно быть получено путём хэширования значения code_verifier и кодирования в base64

Исключение:

ValueError – были переданы неправильные аргументы

Результат:

URL для аутентификации

Client.get_code_url(device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]

Получает URL для получения пользователем кода подтверждения. Он может быть использован для получения токена. Данный метод не отправляет никаких HTTP запросов.

Параметры:
  • device_id – уникальный идентификатор устройства, от 6 до 50 символов

  • device_name – имя устройства, не более 100 символов

  • redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения

  • display – ничего не делает, оставлен для совместимости

  • login_hint – username или email аккаунта, для которого будет получен токен

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

  • force_confirm – Если True, пользователь должен будет разрешить доступ к аккаунту, даже если он уже это сделал до этого

  • state – Строка состояния, которую Яндекс.OAuth возвращает без изменений (<= 1024 символов)

  • code_challenge – строка, полученная из сгенерированного значения code_verifier с помощью одного из двух возможных преобразований (plain или S256)

  • code_challenge_method – Указывает функцию, которая будет использована для преобразования значения code_verifier, возможные значения: "plain" и "S256" (рекомендуется). Если используется "S256", значение code_challenge должно быть получено путём хэширования значения code_verifier и кодирования в base64

Исключение:

ValueError – были переданы неправильные аргументы

Результат:

URL для аутентификации

Client.get_device_code(**kwargs) DeviceCodeObject[исходный код]

Данный запрос используется для авторизации с помощью страницы Яндекс OAuth. В данном случае пользователь должен ввести код подтверждения (user_code) в браузере на странице Яндекс OAuth. После того как пользователь ввёл код, приложение может обменять device_code на токен с помощью метода Client.get_token_from_device_code().

Параметры:
  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • device_name – имя устройства, не более 100 символов

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • InvalidClientError – неправильный идентификатор приложения

  • BadRequestError – неправильные параметры запроса

Результат:

DeviceCodeObject, содержащий user_code и device_code

Client.get_token(code: str, /, **kwargs) TokenObject[исходный код]

Получает новый токен.

Параметры:
  • code – код подтверждения

  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • device_name – имя устройства, не более 100 символов

  • code_verifierstr, код верификатора, используемый при авторизации с PKCE

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • BadVerificationCodeError – неправильный формат кода подтверждения

  • InvalidGrantError – неправильный или истекший код

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • BadRequestError – неправильные параметры запроса

Результат:

TokenObject

Client.get_token_from_device_code(device_code: str, /, **kwargs) TokenObject[исходный код]

Получает новый токен с помощью кода устройства (device_code), полученного с помощью Client.get_device_code()

Параметры:
  • device_code – код устройства (device_code), полученный с помощью Client.get_device_code()

  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • device_name – имя устройства, не более 100 символов

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
Результат:

TokenObject

Client.refresh_token(refresh_token: str, /, **kwargs) TokenObject[исходный код]

Обновляет существующий токен.

Параметры:
  • refresh_token – refresh-токен, полученный вместе с токеном

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • InvalidGrantError – неправильный или истекший refresh-токен или он не принадлежит этому приложению

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • BadRequestError – неправильные параметры запроса

Результат:

TokenObject

Client.revoke_token(token: str | None = None, /, **kwargs) TokenRevokeStatusObject[исходный код]

Отзывает токен.

Параметры:
  • token – токен, подлежащий отзыву

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • InvalidGrantError – указанный токен не принадлежит данному приложению

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • UnsupportedTokenTypeError – не удалось отозвать токен, потому что у него нет device_id

  • BadRequestError – неправильные параметры запроса

Результат:

TokenRevokeStatusObject

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

Client.get_disk_info(**kwargs) DiskInfoObject[исходный код]

Получает информацию о диске.

Параметры:
  • extra_fields – список дополнительных ключей, которые будут включены в ответ

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

DiskInfoObject

Метаданные о файлах

Client.get_meta(path: str, /, **kwargs) SyncResourceObject[исходный код]

Получает мета-информацию о ресурсе.

Параметры:
  • path – путь к ресурсу

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • sortstr, поле используемое для сортировки вложенных ресурсов

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

SyncResourceObject

Client.listdir(path: str, /, **kwargs) Generator[SyncResourceObject, None, None][исходный код]

Получает содержимое path.

Параметры:
  • path – путь к папке

  • max_itemsint или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

генератор ResourceObject

Client.exists(path: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли path.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

Client.get_type(path: str, /, **kwargs) str[исходный код]

Получает тип ресурса

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

Client.is_file(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path файлом.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)

Client.is_dir(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path папкой.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

Client.get_files(*, max_items: int | None = None, **kwargs) Generator[SyncResourceObject, None, None][исходный код]

Получить плоский список всех файлов (без папок).

Параметры:
  • offset – отступ от начала списка

  • max_itemsint или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)

  • limit – максимальное количество элементов списка в каждом запросе

  • media_type – тип файлов, которые будут включены в список

  • sortstr, поле используемое для сортировки вложенных ресурсов

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

генератор ResourceObject

Client.get_last_uploaded(**kwargs) list[SyncResourceObject][исходный код]

Получает список последних загруженных файлов, отсортированный по дате загрузки.

Параметры:
  • limit – максимальное число элементов в списке

  • media_type – тип файлов, которые будут включены в список

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

генератор ResourceObject

Загрузка файлов на Диск

Client.upload(file_or_path: str | bytes | BinaryIO | Callable[[], Iterator[bytes]], dst_path: str, /, **kwargs) SyncResourceLinkObject[исходный код]

Загружает файл на диск.

Параметры:
  • file_or_path – путь, файл-подобный объект, который нужно загрузить, или функция, которая возвращает итератор (или генератор)

  • dst_path – путь назначения

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • spoof_user_agentbool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

SyncResourceLinkObject, ссылка на загруженный ресурс

Получает ссылку для загрузки файла на диск при помощи PUT запроса.

Параметры:
  • path – путь назначения

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • spoof_user_agentbool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Дополнительная информация о данном запросе:

Результат:

str

Получает ссылку для загрузки файла на диск при помощи PUT запроса. Этот метод аналогичен Client.get_upload_link(), но возвращает объект ResourceUploadLinkObject, который также содержит идентификатор асинхронной операции.

Параметры:
  • path – путь назначения

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • fields – список ключей, которые будут включены в ответ

  • spoof_user_agentbool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

ResourceUploadLinkObject

Загружает файл на диск по уже полученной ссылке.

Параметры:
  • file_or_path – путь, файл-подобный объект, который нужно загрузить, или функция, которая возвращает итератор (или генератор)

  • link – ссылка для загрузки файла

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

Client.upload_url(url: str, path: str, /, **kwargs) SyncOperationLinkObject[исходный код]

Загружает файл на диск по URL.

Параметры:
  • url – исходный URL

  • path – путь назначения

  • disable_redirectsbool, запретить делать перенаправления

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

Дополнительная информация о данном запросе:

Результат:

SyncOperationLinkObject, ссылка на асинхронную операцию

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

Client.download(src_path: str, file_or_path: str | bytes | BinaryIO, /, **kwargs) SyncResourceLinkObject[исходный код]

Скачивает файл.

Параметры:
  • src_path – исходный путь

  • file_or_path – путь назначения или файл-подобный объект

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

SyncResourceLinkObject, ссылка на исходный ресурс

Получает ссылку на скачивание файла (или папки).

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

str

Скачивает файл по уже полученной ссылке.

Параметры:
  • link – ссылка для скачивания

  • file_or_path – путь назначения или файл-подобный объект

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Операции над файлами

Создаёт папок

Client.mkdir(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]

Создаёт новую папку.

Параметры:
  • path – путь к папке, подлежащей созданию

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • DirectoryExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject

Client.makedirs(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]

Создаёт новую папку. Если родительская папка не сущсетвует, то онабудет также создана рекурсивно.

Параметры:
  • path – путь к папке, подлежащей созданию

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • DirectoryExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

SyncResourceLinkObject

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

Client.remove(path: str, /, **kwargs) SyncOperationLinkObject | None[исходный код]

Удаляет ресурс.

Параметры:
  • path – путь к удаляемому ресурсу

  • permanently – если True, ресурс будет безвозвратно удалён, иначе ресурс будет перемещён в корзину

  • md5str, MD5 хэш файла, подлежащего удалению

  • force_async – заставляет выполнять операцию асинхронно

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • BadRequestError – проверка MD5 доступна только для файлов

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

SyncOperationLinkObject, если операция выполняется асинхронно, иначе None

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

Client.copy(src_path: str, dst_path: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]

Копирует src_path в dst_path. Если операция выполняется асинхронно, возвращает ссылку на операцию, иначе, возвращает ссылку на новый ресурс.

Параметры:
  • src_path – исходный путь

  • dst_path – путь назначения

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject или SyncOperationLinkObject

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

Client.move(src_path: str, dst_path: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]

Перемещает src_path в dst_path.

Параметры:
  • src_path – исходный путь, подлежащий перемещению

  • dst_path – путь назначения

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject или SyncOperationLinkObject

Client.rename(src_path: str, new_name: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]

Переименовывает src_path в new_name. Делает то же самое, что и move(), за исключением того, что меняет только имя файла.

Параметры:
  • src_path – исходный путь, подлежащий перемещению

  • new_name – новое имя файла, в которое следует переименовать ресурс

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • ValueErrornew_name не является допустимым именем файла или src_path - корень диска

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Результат:

SyncResourceLinkObject или SyncOperationLinkObject

Задание пользовательских свойств ресурсов

Client.patch(path: str, properties: dict, /, **kwargs) SyncResourceObject[исходный код]

Обновляет пользовательские свойства ресурса.

Параметры:
  • path – путь к ресурсу

  • propertiesdict, новые пользовательские свойства ресурса

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

ResourceObject

Публичные файлы

Предоставление и закрытие публичного доступа

Client.publish(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]

Делает ресурс публичным.

Параметры:
  • path – путь к публикуемому ресурсу

  • allow_address_accessbool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без

  • public_settingsPublicSettings или None, настройки доступа для ресурса

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject, ссылка на ресурс

Client.unpublish(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]

Делает публичный ресурс приватным.

Параметры:
  • path – путь к ресурсу, подлежащему депубликации

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject

Получение мета-информации о публичных ресурсах

Client.get_public_meta(public_key: str, /, **kwargs) SyncPublicResourceObject[исходный код]

Получает мета-информацию о публичном ресурсе.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки. Указывая ключ опубликованной папки через public_key, вы можете запросить метаинформацию любого ресурса внутри неё.

  • offset – отступ от начала списка вложенных ресурсов

  • limit – максимальное количество элементов списка вложенных ресурсов

  • sortstr, поле используемое для сортировки вложенных ресурсов

  • preview_size – размер превью файла

  • preview_cropbool, разрешить обрезку превью

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

SyncPublicResourceObject

Client.get_public_type(public_key: str, /, **kwargs) str[исходный код]

Получает тип публичного ресурса.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

Client.is_public_dir(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, является ли публичный ресурс публичной папкой.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если public_key является папкой, False, в остальных случаях (даже если ресурс не существует)

Client.is_public_file(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, является ли публичный ресурс публичным файлом.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если public_key является файлом, False, в остальных случаях (даже если ресурс не существует)

Client.public_exists(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли публичный ресурс.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

Скачивание публичных ресурсов

Получает ссылку на скачивание публичного ресурса.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

str

Client.download_public(public_key: str, file_or_path: str | bytes | BinaryIO, /, **kwargs) SyncPublicResourceLinkObject[исходный код]

Скачивает публичный ресурс.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • file_or_path – путь назначения или файл-подобный объект

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

SyncPublicResourceLinkObject

Сохранение публичных ресурсов на Диск

Client.save_to_disk(public_key: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]

Сохраняет публичный ресурс на диск. Возвращает ссылку на операцию, если сохранение выполняется асинхронно, или возвращает ссылку на ресурс.

Параметры:
  • public_key – публичный ключ или URL к публичному ресурсу

  • name – имя файла/папки, под которым будет сохранён ресурс

  • path – путь к копируемому ресурсу в публичной папке

  • save_path – путь к папке назначения (загрузки по умолчанию)

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject или SyncOperationLinkObject

Получение списка публичных ресурсов

Client.get_public_resources(**kwargs) SyncPublicResourcesListObject[исходный код]

Получает список публичных ресурсов.

Параметры:
  • offset – отступ от начала списка

  • limit – максимальное число элементов в списке

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • type – фильтр по типу ресурса («file» или «dir»)

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

SyncPublicResourceObject

Client.get_all_public_resources(*, max_items: int | None = None, **kwargs) Generator[SyncPublicResourceObject, None, None][исходный код]

Получает список всех публичных ресурсов.

Параметры:
  • max_itemsint или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)

  • offset – отступ от начала списка

  • limit – максимальное число элементов в списке

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • type – фильтр по типу ресурса («file» или «dir»)

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

генератор SyncPublicResourceObject

Настройка публичного доступа

Client.get_public_settings(path: str, /, **kwargs) PublicSettingsObject[исходный код]

Получает список настроек доступа к ресурсу

Параметры:
  • path – путь к ресурсу

  • allow_address_accessbool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

PublicSettingsObject

Client.get_public_available_settings(path: str, /, **kwargs) PublicAvailableSettingsObject[исходный код]

Получает список всех настроек доступа к своему ресурсу, к которому предоставлен публичный доступ.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

PublicAvailableSettingsObject

Client.update_public_settings(path: str, public_settings: PublicSettings, /, **kwargs) None[исходный код]

Обновляет настройки доступа публичного ресурса.

Параметры:
  • path – путь к ресурсу

  • public_settingsPublicSettings, настройки доступа для ресурса

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Дополнительная информация о данном запросе:

Результат:

None

Корзина

Client.get_trash_meta(path: str, /, **kwargs) SyncTrashResourceObject[исходный код]

Получает мета-информацию о ресурсе корзины.

Параметры:
  • path – путь к ресурсу корзины

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • sortstr, поле используемое для сортировки вложенных ресурсов

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Дополнительная информация о данном запросе:

Результат:

SyncTrashResourceObject

Client.trash_exists(path: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли path в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

Client.restore_trash(path: str, /, dst_path: str | None = None, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]

Восстанавливает ресурс корзины. Возвращает ссылку на новый ресурс или ссылку на асинхронную операцию.

Параметры:
  • path – путь к восстанавливаему ресурсу

  • dst_path – путь назначения

  • overwritebool, определяет может ли путь назначения быть перезаписан

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

SyncResourceLinkObject или SyncOperationLinkObject

Client.remove_trash(path: str, /, **kwargs) SyncOperationLinkObject | None[исходный код]

Удаляет ресурс корзины.

Параметры:
  • path – путь к ресурсу корзины, подлежащий удалению

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

SyncOperationLinkObject, если операция выполняется асинхронно, иначе None

Client.trash_listdir(path: str, /, **kwargs) Generator[SyncTrashResourceObject, None, None][исходный код]

Получает содержимое папки в корзине.

Параметры:
  • path – путь к папке в корзине

  • max_itemsint или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

генератор SyncTrashResourceObject

Client.get_trash_type(path: str, /, **kwargs) str[исходный код]

Получает тип ресурса корзины.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

Client.is_trash_dir(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path папкой в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

Client.is_trash_file(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path файлом в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)

Получение статуса операции

Client.get_operation_status(operation_id: str, /, **kwargs) Literal['in-progress', 'success', 'failed'][исходный код]

Получает статус операции.

Параметры:
  • operation_id – идентификатор операции или ссылка на нее

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

OperationNotFoundError – указанная операция не найдена

Дополнительная информация о данном запросе:

Результат:

str, "in-progress" означает, что операция в процессе, "success" означает, что операция успешно завершилась, "failed" означает, что операция завершилась с ошибкой

Client.wait_for_operation(operation_id: str, /, *, poll_interval: float = 1.0, poll_timeout: float | None = None, **kwargs) None[исходный код]

Ждёт, пока операция не будет выполнена. Если операция не удалась, вызывает исключение. Ожидание осуществляется с помощью вызова time.sleep.

Параметры:
  • operation_id – идентификатор операции или ссылка на нее

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • requests_argsdict, Дополнительные параметры для RequestsSession

  • httpx_argsdict, дополнительные параметры для HTTPXSession

  • curl_optionsdict, дополнительные опции для PycURLSession

  • kwargs – другие параметры для Session.send_request()

Исключение: