Асинхронный API

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

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

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

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

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

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

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

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

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

Примечание

Не забывайте вызывать AsyncClient.close или используйте async with, чтобы закрыть все соединения. Иначе, вы можете получить предупреждение.

В Client это делалается в деструкторе, но т.к. AsyncClient.close - корутина, здесь этого сделать нельзя, поэтому приходится делать это явно.

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

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

  • token – токен

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

  • sessionNone, str или объект AsyncSession. Если session - строка, то нужный класс будет автоматически импортирован, допустимые значения: * "aiohttp" - AIOHTTPSession * "httpx" - AsyncHTTPXSession

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

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

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

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

  • tokenstr, токен

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

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

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

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

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

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

Этот метод неявно вызывается конструкцией async with.

yadisk.AsyncYaDisk

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

bool

AsyncClient.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 для аутентификации

AsyncClient.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 для аутентификации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

TokenObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TokenObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

TokenObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

TokenRevokeStatusObject

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

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

Результат:

DiskInfoObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceObject

async AsyncClient.listdir(path: str, /, **kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

асинхронный генератор AsyncResourceObject

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

bool

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

«file» или «dir»

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

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

async AsyncClient.get_files(*, max_items: int | None = None, **kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

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

Результат:

асинхронный генератор AsyncResourceObject

async AsyncClient.get_last_uploaded(**kwargs) list[AsyncResourceObject][исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

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

Результат:

асинхронный генератор AsyncResourceObject

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

async AsyncClient.upload(path_or_file: str | bytes | BinaryIO | AsyncFileLike | Callable[[], AsyncIterator[bytes]], dst_path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]

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

Параметры:
  • path_or_file – путь к файлу, файл-подобный объект или функция, возвращающая асинхронный генератор для загрузки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

str

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

ResourceUploadLinkObject

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

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

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

async AsyncClient.download(src_path: str, path_or_file: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncResourceLinkObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

str

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceLinkObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceLinkObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

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

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

async AsyncClient.copy(src_path: str, dst_path: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

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

async AsyncClient.move(src_path: str, dst_path: str, /, **kwargs) AsyncOperationLinkObject | AsyncResourceLinkObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async AsyncClient.rename(src_path: str, new_name: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncResourceLinkObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncPublicResourceObject

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

«file» или «dir»

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

bool

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

str

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncPublicResourceLinkObject

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

async AsyncClient.save_to_disk(public_key: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

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

async AsyncClient.get_public_resources(**kwargs) AsyncPublicResourcesListObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

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

Результат:

AsyncPublicResourcesListObject

async AsyncClient.get_all_public_resources(*, max_items: int | None = None, **kwargs) AsyncGenerator[AsyncPublicResourceObject, 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 – у приложения не хватает прав, чтобы выполнить данный запрос

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

Результат:

асинхронный генератор AsyncPublicResourceObject

Настройка публичного доступа

async AsyncClient.get_public_settings(path: str, /, **kwargs) PublicSettingsObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

PublicSettingsObject

async AsyncClient.get_public_available_settings(path: str, /, **kwargs) PublicAvailableSettingsObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

PublicAvailableSettingsObject

async AsyncClient.update_public_settings(path: str, public_settings: PublicSettings, /, **kwargs) None[исходный код]

Обновляет настройки доступа публичного ресурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

None

Корзина

async AsyncClient.get_trash_meta(path: str, /, **kwargs) AsyncTrashResourceObject[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

AsyncTrashResourceObject

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

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

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

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

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

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

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

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

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

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

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

Исключение:

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

Результат:

bool

async AsyncClient.restore_trash(path: str, dst_path: str | None = None, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

Восстанавливает ресурс корзины. Возвращает ссылку на новый ресурс или ссылку на асинхронную операцию.

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

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

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

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

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async AsyncClient.remove_trash(path: str, /, **kwargs) AsyncOperationLinkObject | None[исходный код]

Удаляет ресурс корзины.

Параметры:
  • path – путь к ресурсу корзины, подлежащий удалению

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • waitbool, если True, метод будет ожидать завершения асинхронной операции

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • OperationNotFoundError – указанная операция не найдена

  • AsyncOperationFailedError – не удалось совершить операцию

  • AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)

Дополнительная информация о данном запросе:

Результат:

AsyncOperationLinkObject, если операция выполняется асинхронно, иначе None

async AsyncClient.trash_listdir(path: str, /, **kwargs) AsyncGenerator[AsyncTrashResourceObject, None][исходный код]

Получает содержимое папки в корзине.

Параметры:
  • path – путь к папке в корзине

  • max_itemsint или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

асинхронный генератор AsyncTrashResourceObject

async AsyncClient.get_trash_type(path: str, /, **kwargs) str[исходный код]

Получает тип ресурса корзины.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

async AsyncClient.is_trash_dir(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path папкой в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

async AsyncClient.is_trash_file(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path файлом в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

Получение статуса операции

async AsyncClient.get_operation_status(operation_id: str, /, **kwargs) Literal['in-progress', 'success', 'failed'][исходный код]

Получает статус операции.

Параметры:
  • operation_id – идентификатор операции или ссылка на нее

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение:

OperationNotFoundError – указанная операция не найдена

Дополнительная информация о данном запросе:

Результат:

str, "in-progress" означает, что операция в процессе, "success" означает, что операция успешно завершилась, "failed" означает, что операция завершилась с ошибкой

async AsyncClient.wait_for_operation(operation_id: str, /, *, poll_interval: float = 1.0, poll_timeout: float | None = None, **kwargs) None[исходный код]

Ждёт, пока операция не будет выполнена. Если выполнение операции не удалось, вызывается исключение. Ожидание осуществляется с помощью вызова asyncio.sleep.

Параметры:
  • operation_id – идентификатор операции или ссылка на нее

  • poll_intervalfloat, интервал в секундах между проверками статуса операции

  • poll_timeoutfloat or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

  • retry_ontuple, дополнительные классы исключений, которые вызовут повторную попытку

  • aiohttp_argsdict, дополнительные параметры для AIOHTTPSession

  • httpx_argsdict, дополнительные параметры для AsyncHTTPXSession

  • kwargs – другие параметры для Session.send_request()

Исключение: