Асинхронный 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_args – dict или None, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.
session – None, str или объект
AsyncSession. Еслиsession- строка, то нужный класс будет автоматически импортирован, допустимые значения: *"aiohttp"-AIOHTTPSession*"httpx"-AsyncHTTPXSessionopen_file – None или асинхронная функция, которая открывает файл для чтения или записи (
aiofiles.open()по умолчанию)session_factory – оставлен для совместимости, функция, возвращающая объект
AsyncSession
- Переменные:
id – str, идентификатор приложения
secret – str, пароль приложения
token – str, токен
default_args – dict, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.
session – текущая сессия (объект
AsyncSession)open_file – асинхронная функция, которая открывает файл для чтения или записи (
aiofiles.open()по умолчанию)
Большинство запросов к API могут вызвать следующие исключения:
- Исключение:
RequestError – HTTP-клиент вызвал исключение во время отправления запроса
BadRequestError – сервер вернул код 400.
FieldValidationError – запрос содежит поля с некорректными данными.
UnauthorizedError – сервер вернул код 401.
ForbiddenError – сервер вернул код 403.
NotAcceptableError – сервер вернул код 406.
ConflictError – сервер вернул код 409.
PayloadTooLargeError – сервер вернул код 413.
UnsupportedMediaError – сервер вернул код 415.
LockedError – сервер вернул код 423.
TooManyRequestsError – сервер вернул код 429.
InternalServerError – сервер вернул код 500.
BadGatewayError – сервер вернул код 502.
UnavailableError – сервер вернул код 503.
GatewayTimeoutError – сервер вернул код 504.
InsufficientStorageError – сервер вернул код 509.
UnknownYaDiskError – другая неизвестная ошибка
- async close() None[исходный код]
Закрывает сессию. Не вызывайте этот метод, пока другие потоки используют этот объект.
Этот метод неявно вызывается конструкцией async with.
- yadisk.AsyncYaDisk
псевдоним для
AsyncClient
Аутентификация
- async AsyncClient.check_token(token: str | None = None, /, **kwargs) bool[исходный код]
Проверяет, действителен ли токен.
- Параметры:
token – токен, подлежащий проверке, то же самое, что self.token при None
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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 аккаунта, для которого будет получен токен
scope – str, список разрешений для приложения
optional_scope – str, список опциональных разрешений для приложения
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 аккаунта, для которого будет получен токен
scope – str, список разрешений для приложения
optional_scope – str, список опциональных разрешений для приложения
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 символов
scope – str, список разрешений для приложения
optional_scope – str, список опциональных разрешений для приложения
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
InvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
DeviceCodeObject, содержащийuser_codeиdevice_code
- async AsyncClient.get_token(code: str, /, **kwargs) TokenObject[исходный код]
Получает новый токен.
- Параметры:
code – код подтверждения
device_id – уникальный идентификатор устройства (между 6 и 50 символами)
code_verifier – str, код верификатора, используемый при авторизации с PKCE
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
BadVerificationCodeError – неправильный формат кода подтверждения
InvalidGrantError – неправильный или истекший код
InvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- 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_verifier – str, код верификатора, используемый при авторизации с PKCE
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
AuthorizationPendingError – пользователь ещё не авторизовал приложение
BadVerificationCodeError – неправильный формат
device_codeInvalidGrantError – неправильный или истекший
device_codeInvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- async AsyncClient.refresh_token(refresh_token: str, /, **kwargs) TokenObject[исходный код]
Обновляет существующий токен.
- Параметры:
refresh_token – refresh-токен, полученный вместе с токеном
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
InvalidGrantError – неправильный или истекший refresh-токен или он не принадлежит этому приложению
InvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- async AsyncClient.revoke_token(token: str | None = None, /, **kwargs) TokenRevokeStatusObject[исходный код]
Отзывает токен.
- Параметры:
token – токен, подлежащий отзыву, то же самое, что self.token, если None
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
InvalidGrantError – указанный токен не принадлежит данному приложению
InvalidClientError – неправильный идентификатор или пароль приложения
UnsupportedTokenTypeError – не удалось отозвать токен, потому что у него нет
device_idBadRequestError – неправильные параметры запроса
- Результат:
Информация о диске
- async AsyncClient.get_disk_info(**kwargs) DiskInfoObject[исходный код]
Получает информацию о диске.
- Параметры:
extra_fields – список дополнительных ключей, которые будут включены в ответ
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
Метаданные о файлах
- async AsyncClient.get_meta(path: str, /, **kwargs) AsyncResourceObject[исходный код]
Получает мета-информацию о ресурсе.
- Параметры:
path – путь к ресурсу
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
sort – str, поле используемое для сортировки вложенных ресурсов
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
- async AsyncClient.listdir(path: str, /, **kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]
Получает содержимое path.
- Параметры:
path – путь к папке
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
WrongResourceTypeError – указанный ресурс не является папкой
- Результат:
асинхронный генератор
AsyncResourceObject
- async AsyncClient.exists(path: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли path.
- Параметры:
path – путь к ресурсу
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
- async AsyncClient.get_type(path: str, /, **kwargs) str[исходный код]
Получает тип ресурса
- Параметры:
path – путь к ресурсу
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- async AsyncClient.is_file(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path файлом.
- Параметры:
path – путь к ресурсу
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)
- async AsyncClient.is_dir(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path папкой.
- Параметры:
path – путь к ресурсу
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)
- async AsyncClient.get_files(*, max_items: int | None = None, **kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]
Получить плоский список всех файлов (без папок).
- Параметры:
offset – отступ от начала списка
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – максимальное количество элементов списка в каждом запросе
media_type – тип файлов, которые будут включены в список
sort – str, поле используемое для сортировки вложенных ресурсов
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
асинхронный генератор
AsyncResourceObject
- async AsyncClient.get_last_uploaded(**kwargs) list[AsyncResourceObject][исходный код]
Получает список последних загруженных файлов, отсортированный по дате загрузки.
- Параметры:
limit – максимальное число элементов в списке
media_type – тип файлов, которые будут включены в список
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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_agent – bool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
- Результат:
AsyncResourceLinkObject, ссылка на загруженный ресурс
- async AsyncClient.get_upload_link(path: str, /, spoof_user_agent: bool = True, **kwargs) str[исходный код]
Получает ссылку для загрузки файла на диск при помощи PUT запроса.
- Параметры:
path – путь назначения
overwrite – bool, определяет, перезаписывать путь назначения или нет
spoof_user_agent – bool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
Дополнительная информация о данном запросе:
- Результат:
str
- async AsyncClient.get_upload_link_object(path: str, /, spoof_user_agent: bool = True, **kwargs) ResourceUploadLinkObject[исходный код]
Получает ссылку для загрузки файла на диск при помощи PUT запроса. Этот метод аналогичен
AsyncClient.get_upload_link(), но возвращает объектResourceUploadLinkObject, который также содержит идентификатор асинхронной операции.- Параметры:
path – путь назначения
overwrite – bool, определяет, перезаписывать путь назначения или нет
fields – список ключей, которые будут включены в ответ
spoof_user_agent – bool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
- Результат:
- async AsyncClient.upload_by_link(file_or_path: str | bytes | BinaryIO | AsyncFileLike | Callable[[], AsyncIterator[bytes]], link: str, /, **kwargs) None[исходный код]
Загружает файл на диск по уже полученной ссылке.
- Параметры:
file_or_path – путь к файлу, файл-подобный объект или функция, возвращающая асинхронный генератор для загрузки
link – ссылка для загрузки файла
overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
- async AsyncClient.upload_url(url: str, path: str, /, **kwargs) AsyncOperationLinkObject[исходный код]
Загружает файл на диск по URL.
- Параметры:
url – исходный URL
path – путь назначения
disable_redirects – bool, запретить делать перенаправления
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
AsyncOperationLinkObject, ссылка на асинхронную операцию
Скачивание файлов
- async AsyncClient.download(src_path: str, path_or_file: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncResourceLinkObject[исходный код]
Скачивает файл.
- Параметры:
src_path – исходный путь
path_or_file – путь назначения или файл-подобный объект
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
AsyncResourceLinkObject, ссылка на исходный ресурс
- async AsyncClient.get_download_link(path: str, /, **kwargs) str[исходный код]
Получает ссылку на скачивание файла (или папки).
- Параметры:
path – путь к ресурсу
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
str
- async AsyncClient.download_by_link(link: str, file_or_path: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) None[исходный код]
Скачивает файл по уже полученной ссылке.
- Параметры:
link – ссылка для скачивания
file_or_path – путь назначения или файл-подобный объект
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
Операции над файлами
Создаёт папок
- async AsyncClient.mkdir(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]
Создаёт новую папку.
- Параметры:
path – путь к папке, подлежащей созданию
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
DirectoryExistsError – путь назначения уже существует
InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.makedirs(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]
Создаёт новую папку. Если родительская папка не сущсетвует, то онабудет также создана рекурсивно.
- Параметры:
path – путь к папке, подлежащей созданию
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
DirectoryExistsError – путь назначения уже существует
InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
Удаление файлов
- async AsyncClient.remove(path: str, /, **kwargs) AsyncOperationLinkObject | None[исходный код]
Удаляет ресурс.
- Параметры:
path – путь к удаляемому ресурсу
permanently – если True, ресурс будет безвозвратно удалён, иначе ресурс будет перемещён в корзину
md5 – str, MD5 хэш файла, подлежащего удалению
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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 – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
InsufficientStorageError – невозможно выполнить запрос из-за нехватки свободного места на Диске
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
Перемещение файлов
- async AsyncClient.move(src_path: str, dst_path: str, /, **kwargs) AsyncOperationLinkObject | AsyncResourceLinkObject[исходный код]
Перемещает src_path в dst_path.
- Параметры:
src_path – исходный путь, подлежащий перемещению
dst_path – путь назначения
overwrite – bool, определяет, перезаписывать путь назначения или нет
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.rename(src_path: str, new_name: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]
Переименовывает src_path в new_name. Делает то же самое, что и move(), за исключением того, что меняет только имя файла.
- Параметры:
src_path – исходный путь, подлежащий перемещению
new_name – новое имя файла, в которое следует переименовать ресурс
overwrite – bool, определяет, перезаписывать путь назначения или нет
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
ValueError – new_name не является допустимым именем файла или src_path - корень диска
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
- Результат:
Задание пользовательских свойств ресурсов
- async AsyncClient.patch(path: str, properties: dict, /, **kwargs) AsyncResourceObject[исходный код]
Обновляет пользовательские свойства ресурса.
- Параметры:
path – путь к ресурсу
properties – dict, новые пользовательские свойства ресурса
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
Публичные файлы
Предоставление и закрытие публичного доступа
- async AsyncClient.publish(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]
Делает ресурс публичным.
- Параметры:
path – путь к публикуемому ресурсу
allow_address_access – bool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без
public_settings –
PublicSettingsили None, настройки доступа для ресурсаfields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
AsyncResourceLinkObject, ссылка на ресурс
- async AsyncClient.unpublish(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]
Делает публичный ресурс приватным.
- Параметры:
path – путь к ресурсу, подлежащему депубликации
allow_address_access – bool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
Получение мета-информации о публичных ресурсах
- async AsyncClient.get_public_meta(public_key: str, /, **kwargs) AsyncPublicResourceObject[исходный код]
Получает мета-информацию о публичном ресурсе.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки. Указывая ключ опубликованной папки через public_key, вы можете запросить метаинформацию любого ресурса внутри неё.
offset – отступ от начала списка вложенных ресурсов
limit – максимальное количество элементов списка вложенных ресурсов
sort – str, поле используемое для сортировки вложенных ресурсов
preview_size – размер превью файла
preview_crop – bool, разрешить обрезку превью
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.get_public_type(public_key: str, /, **kwargs) str[исходный код]
Получает тип публичного ресурса.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- async AsyncClient.is_public_dir(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, является ли public_key публичной папкой.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если public_key является папкой, False, в остальных случаях (даже если ресурс не существует)
- async AsyncClient.is_public_file(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, является ли public_key публичным файлом.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если public_key является файлом, False, в остальных случаях (даже если ресурс не существует)
- async AsyncClient.public_exists(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли публичный ресурс.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
Скачивание публичных ресурсов
- async AsyncClient.get_public_download_link(public_key: str, /, **kwargs) str[исходный код]
Получает ссылку на скачивание публичного ресурса.
- Параметры:
public_key – публичный ключ или URL к ресурсу
path – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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 – относительный путь к ресурсу внутри публичной папки
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
Сохранение публичных ресурсов на Диск
- async AsyncClient.save_to_disk(public_key: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]
Сохраняет публичный ресурс на диск. Возвращает ссылку на операцию, если сохранение выполняется асинхронно, или возвращает ссылку на ресурс.
- Параметры:
public_key – публичный ключ или URL к ресурсу
name – имя файла/папки, под которым будет сохранён ресурс
path – путь к копируемому ресурсу в публичной папке
save_path – путь к папке назначения (загрузки по умолчанию)
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
Получение списка публичных ресурсов
- async AsyncClient.get_public_resources(**kwargs) AsyncPublicResourcesListObject[исходный код]
Получает список публичных ресурсов.
- Параметры:
offset – отступ от начала списка
limit – максимальное число элементов в списке
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
type – фильтр по типу ресурса («file» или «dir»)
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.get_all_public_resources(*, max_items: int | None = None, **kwargs) AsyncGenerator[AsyncPublicResourceObject, None][исходный код]
Получает список всех публичных ресурсов.
- Параметры:
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
offset – отступ от начала списка
limit – максимальное число элементов в списке
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
type – фильтр по типу ресурса («file» или «dir»)
fields – список ключей, которые будут включены в ответ
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
асинхронный генератор
AsyncPublicResourceObject
Настройка публичного доступа
- async AsyncClient.get_public_settings(path: str, /, **kwargs) PublicSettingsObject[исходный код]
Получает список настроек доступа к ресурсу
- Параметры:
path – путь к ресурсу
allow_address_access – bool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.get_public_available_settings(path: str, /, **kwargs) PublicAvailableSettingsObject[исходный код]
Получает список всех настроек доступа к своему ресурсу, к которому предоставлен публичный доступ.
- Параметры:
path – путь к ресурсу
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.update_public_settings(path: str, public_settings: PublicSettings, /, **kwargs) None[исходный код]
Обновляет настройки доступа публичного ресурса.
- Параметры:
path – путь к ресурсу
public_settings –
PublicSettings, настройки доступа для ресурсаtimeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
None
Корзина
- async AsyncClient.get_trash_meta(path: str, /, **kwargs) AsyncTrashResourceObject[исходный код]
Получает мета-информацию о ресурсе корзины.
- Параметры:
path – путь к ресурсу корзины
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
sort – str, поле используемое для сортировки вложенных ресурсов
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.trash_exists(path: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли path в корзине.
- Параметры:
path – путь к ресурсу корзины
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
- async AsyncClient.restore_trash(path: str, dst_path: str | None = None, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]
Восстанавливает ресурс корзины. Возвращает ссылку на новый ресурс или ссылку на асинхронную операцию.
- Параметры:
path – путь к восстанавливаему ресурсу
dst_path – путь назначения
overwrite – bool, определяет может ли путь назначения быть перезаписан
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
- async AsyncClient.remove_trash(path: str, /, **kwargs) AsyncOperationLinkObject | None[исходный код]
Удаляет ресурс корзины.
- Параметры:
path – путь к ресурсу корзины, подлежащий удалению
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
fields – список ключей, которые будут включены в ответ
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
WrongResourceTypeError – указанный ресурс не является папкой
- Результат:
асинхронный генератор
AsyncTrashResourceObject
- async AsyncClient.get_trash_type(path: str, /, **kwargs) str[исходный код]
Получает тип ресурса корзины.
- Параметры:
path – путь к ресурсу корзины
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- async AsyncClient.is_trash_dir(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path папкой в корзине.
- Параметры:
path – путь к ресурсу корзины
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)
- async AsyncClient.is_trash_file(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path файлом в корзине.
- Параметры:
path – путь к ресурсу корзины
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)
Получение статуса операции
- async AsyncClient.get_operation_status(operation_id: str, /, **kwargs) Literal['in-progress', 'success', 'failed'][исходный код]
Получает статус операции.
- Параметры:
operation_id – идентификатор операции или ссылка на нее
timeout – float, tuple или None, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
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_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
timeout – float или tuple, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
aiohttp_args – dict, дополнительные параметры для
AIOHTTPSessionhttpx_args – dict, дополнительные параметры для
AsyncHTTPXSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)