Синхронный API
- class yadisk.Client(id: str = '', secret: str = '', token: str = '', *, default_args: dict[str, Any] | None = None, session: Session | Literal['httpx'] | Literal['pycurl'] | Literal['requests'] | None = None, open_file: Callable[[str | bytes, Literal['rb', 'wb']], BinaryIO] | None = None, session_factory: Callable[[], Session] | None = None)[исходный код]
Реализует доступ к REST API Яндекс.Диска (предоставляет синхронный API).
Реализация HTTP-клиента может быть указана с помощью параметра session. По умолчанию используется
RequestsSession. см. Доступные реализации сессий для других списка других доступных вариантов.Почти все методы
Client(те, которые принимают **kwargs) принимают некоторые дополнительные параметры:n_retries - int, максимальное число повторных попыток запроса
retry_interval - float, задержка между повторными попытками (в секундах)
headers - dict или None, дополнительные заголовки запроса
timeout - tuple (
(<connect timeout>, <read timeout>)) или float (указывает одновременно и connect и read timeout), таймаут запроса в секундах
Дополнительные параметры, относящиеся к конкретной HTTP библиотеке могут также быть переданы, см. документацию для конкретных подклассов
Session(Доступные реализации сессий).- Параметры:
id – идентификатор приложения
secret – пароль приложения
token – токен
default_args – dict или None, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.
session – None, str или объект
Session. Еслиsession- строка, то нужный класс будет автоматически импортирован, допустимые значения: *"httpx"-HTTPXSession*"pycurl"-PycURLSession*"requests"-RequestsSessionopen_file – None или функция, которая открывает файл для чтения или записи (
open()по умолчанию)session_factory – оставлен для совместимости, функция, возвращающая объект
Session
- Переменные:
id – str, идентификатор приложения
secret – str, пароль приложения
token – str, токен
default_args – dict, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.
session – текущая сессия (объект
Session)open_file – функция, которая открывает файл для чтения или записи (
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 – другая неизвестная ошибка
- close() None[исходный код]
Закрывает сессию. Не вызывайте этот метод, пока другие потоки используют этот объект.
Этот метод может также быть вызван неявно с помощью конструкции with.
Аутентификация
- Client.check_token(token: str | None = None, /, **kwargs) bool[исходный код]
Проверяет, действителен ли токен.
- Параметры:
token – токен, подлежащий проверке, то же самое, что self.token при None
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()
- Результат:
bool
- Client.get_auth_url(type: Literal['code', 'token'], device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]
Получает URL для аутентификации для пользователя. Данный метод не отправляет никаких HTTP запросов.
- Параметры:
type – тип ответа («code», чтобы получить код подтверждения или «token», чтобы получить токен автоматически)
device_id – уникальный идентификатор устройства, от 6 до 50 символов
device_name – имя устройства, не более 100 символов
redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения
display – ничего не делает, оставлен для совместимости
login_hint – username или email аккаунта, для которого будет получен токен
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 для аутентификации
- Client.get_code_url(device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]
Получает URL для получения пользователем кода подтверждения. Он может быть использован для получения токена. Данный метод не отправляет никаких HTTP запросов.
- Параметры:
device_id – уникальный идентификатор устройства, от 6 до 50 символов
device_name – имя устройства, не более 100 символов
redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения
display – ничего не делает, оставлен для совместимости
login_hint – username или email аккаунта, для которого будет получен токен
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 для аутентификации
- Client.get_device_code(**kwargs) DeviceCodeObject[исходный код]
Данный запрос используется для авторизации с помощью страницы Яндекс OAuth. В данном случае пользователь должен ввести код подтверждения (
user_code) в браузере на странице Яндекс OAuth. После того как пользователь ввёл код, приложение может обменятьdevice_codeна токен с помощью методаClient.get_token_from_device_code().- Параметры:
device_id – уникальный идентификатор устройства (между 6 и 50 символами)
device_name – имя устройства, не более 100 символов
scope – str, список разрешений для приложения
optional_scope – str, список опциональных разрешений для приложения
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()
- Исключение:
InvalidClientError – неправильный идентификатор приложения
BadRequestError – неправильные параметры запроса
- Результат:
DeviceCodeObject, содержащийuser_codeиdevice_code
- Client.get_token(code: str, /, **kwargs) TokenObject[исходный код]
Получает новый токен.
- Параметры:
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, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
BadVerificationCodeError – неправильный формат кода подтверждения
InvalidGrantError – неправильный или истекший код
InvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- Client.get_token_from_device_code(device_code: str, /, **kwargs) TokenObject[исходный код]
Получает новый токен с помощью кода устройства (device_code), полученного с помощью
Client.get_device_code()- Параметры:
device_code – код устройства (device_code), полученный с помощью
Client.get_device_code()device_id – уникальный идентификатор устройства (между 6 и 50 символами)
device_name – имя устройства, не более 100 символов
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()
- Исключение:
AuthorizationPendingError – пользователь ещё не авторизовал приложение
BadVerificationCodeError – неправильный формат
device_codeInvalidGrantError – неправильный или истекший
device_codeInvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- Client.refresh_token(refresh_token: str, /, **kwargs) TokenObject[исходный код]
Обновляет существующий токен.
- Параметры:
refresh_token – refresh-токен, полученный вместе с токеном
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()
- Исключение:
InvalidGrantError – неправильный или истекший refresh-токен или он не принадлежит этому приложению
InvalidClientError – неправильный идентификатор или пароль приложения
BadRequestError – неправильные параметры запроса
- Результат:
- Client.revoke_token(token: str | None = None, /, **kwargs) TokenRevokeStatusObject[исходный код]
Отзывает токен.
- Параметры:
token – токен, подлежащий отзыву
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()
- Исключение:
InvalidGrantError – указанный токен не принадлежит данному приложению
InvalidClientError – неправильный идентификатор или пароль приложения
UnsupportedTokenTypeError – не удалось отозвать токен, потому что у него нет
device_idBadRequestError – неправильные параметры запроса
- Результат:
Информация о диске
- Client.get_disk_info(**kwargs) DiskInfoObject[исходный код]
Получает информацию о диске.
- Параметры:
extra_fields – список дополнительных ключей, которые будут включены в ответ
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 – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
Метаданные о файлах
- Client.get_meta(path: str, /, **kwargs) SyncResourceObject[исходный код]
Получает мета-информацию о ресурсе.
- Параметры:
path – путь к ресурсу
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
sort – str, поле используемое для сортировки вложенных ресурсов
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- Client.listdir(path: str, /, **kwargs) Generator[SyncResourceObject, None, None][исходный код]
Получает содержимое path.
- Параметры:
path – путь к папке
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
WrongResourceTypeError – указанный ресурс не является папкой
- Результат:
генератор
ResourceObject
- Client.exists(path: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли path.
- Параметры:
path – путь к ресурсу
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
- Client.get_type(path: str, /, **kwargs) str[исходный код]
Получает тип ресурса
- Параметры:
path – путь к ресурсу
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- Client.is_file(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path файлом.
- Параметры:
path – путь к ресурсу
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)
- Client.is_dir(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path папкой.
- Параметры:
path – путь к ресурсу
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)
- Client.get_files(*, max_items: int | None = None, **kwargs) Generator[SyncResourceObject, None, None][исходный код]
Получить плоский список всех файлов (без папок).
- Параметры:
offset – отступ от начала списка
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – максимальное количество элементов списка в каждом запросе
media_type – тип файлов, которые будут включены в список
sort – str, поле используемое для сортировки вложенных ресурсов
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
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 – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
генератор
ResourceObject
- Client.get_last_uploaded(**kwargs) list[SyncResourceObject][исходный код]
Получает список последних загруженных файлов, отсортированный по дате загрузки.
- Параметры:
limit – максимальное число элементов в списке
media_type – тип файлов, которые будут включены в список
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
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 – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
генератор
ResourceObject
Загрузка файлов на Диск
- Client.upload(file_or_path: str | bytes | BinaryIO | Callable[[], Iterator[bytes]], dst_path: str, /, **kwargs) SyncResourceLinkObject[исходный код]
Загружает файл на диск.
- Параметры:
file_or_path – путь, файл-подобный объект, который нужно загрузить, или функция, которая возвращает итератор (или генератор)
dst_path – путь назначения
overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка
spoof_user_agent – bool, если True (по умолчанию), будет задано специальное значение заголовка User-Agent, которое должно позволить обходить ограничение скорости загрузки файлов на Диск
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()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
- Результат:
SyncResourceLinkObject, ссылка на загруженный ресурс
- Client.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, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
Дополнительная информация о данном запросе:
- Результат:
str
- Client.get_upload_link_object(path: str, /, spoof_user_agent: bool = True, **kwargs) ResourceUploadLinkObject[исходный код]
Получает ссылку для загрузки файла на диск при помощи PUT запроса. Этот метод аналогичен
Client.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, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
- Результат:
- Client.upload_by_link(file_or_path: str | bytes | BinaryIO | Callable[[], Iterator[bytes]], link: str, /, **kwargs) None[исходный код]
Загружает файл на диск по уже полученной ссылке.
- Параметры:
file_or_path – путь, файл-подобный объект, который нужно загрузить, или функция, которая возвращает итератор (или генератор)
link – ссылка для загрузки файла
overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка
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()
- Исключение:
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
- Client.upload_url(url: str, path: str, /, **kwargs) SyncOperationLinkObject[исходный код]
Загружает файл на диск по URL.
- Параметры:
url – исходный URL
path – путь назначения
disable_redirects – bool, запретить делать перенаправления
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
ParentNotFoundError – родительская папка не существует
PathExistsError – путь назначения уже существует
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
SyncOperationLinkObject, ссылка на асинхронную операцию
Скачивание файлов
- Client.download(src_path: str, file_or_path: str | bytes | BinaryIO, /, **kwargs) SyncResourceLinkObject[исходный код]
Скачивает файл.
- Параметры:
src_path – исходный путь
file_or_path – путь назначения или файл-подобный объект
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
SyncResourceLinkObject, ссылка на исходный ресурс
- Client.get_download_link(path: str, /, **kwargs) str[исходный код]
Получает ссылку на скачивание файла (или папки).
- Параметры:
path – путь к ресурсу
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
str
- Client.download_by_link(link: str, file_or_path: str | bytes | BinaryIO, /, **kwargs) None[исходный код]
Скачивает файл по уже полученной ссылке.
- Параметры:
link – ссылка для скачивания
file_or_path – путь назначения или файл-подобный объект
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()
Операции над файлами
Создаёт папок
- Client.mkdir(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]
Создаёт новую папку.
- Параметры:
path – путь к папке, подлежащей созданию
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()
- Исключение:
ParentNotFoundError – родительская папка не существует
DirectoryExistsError – путь назначения уже существует
InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- Client.makedirs(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]
Создаёт новую папку. Если родительская папка не сущсетвует, то онабудет также создана рекурсивно.
- Параметры:
path – путь к папке, подлежащей созданию
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()
- Исключение:
DirectoryExistsError – путь назначения уже существует
InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
Удаление файлов
- Client.remove(path: str, /, **kwargs) SyncOperationLinkObject | None[исходный код]
Удаляет ресурс.
- Параметры:
path – путь к удаляемому ресурсу
permanently – если True, ресурс будет безвозвратно удалён, иначе ресурс будет перемещён в корзину
md5 – str, MD5 хэш файла, подлежащего удалению
force_async – заставляет выполнять операцию асинхронно
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
BadRequestError – проверка MD5 доступна только для файлов
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
SyncOperationLinkObject, если операция выполняется асинхронно, иначе None
Копирование файлов
- Client.copy(src_path: str, dst_path: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]
Копирует src_path в dst_path. Если операция выполняется асинхронно, возвращает ссылку на операцию, иначе, возвращает ссылку на новый ресурс.
- Параметры:
src_path – исходный путь
dst_path – путь назначения
overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
InsufficientStorageError – невозможно выполнить запрос из-за нехватки свободного места на Диске
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
Перемещение файлов
- Client.move(src_path: str, dst_path: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]
Перемещает 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, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
- Client.rename(src_path: str, new_name: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]
Переименовывает 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, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
ValueError – new_name не является допустимым именем файла или src_path - корень диска
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
- Результат:
Задание пользовательских свойств ресурсов
- Client.patch(path: str, properties: dict, /, **kwargs) SyncResourceObject[исходный код]
Обновляет пользовательские свойства ресурса.
- Параметры:
path – путь к ресурсу
properties – dict, новые пользовательские свойства ресурса
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
Публичные файлы
Предоставление и закрытие публичного доступа
- Client.publish(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]
Делает ресурс публичным.
- Параметры:
path – путь к публикуемому ресурсу
allow_address_access – bool, определяет формат запроса, т.е. с персональными настройками доступа (если True) или без
public_settings –
PublicSettingsили None, настройки доступа для ресурса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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
SyncResourceLinkObject, ссылка на ресурс
- Client.unpublish(path: str, /, **kwargs) SyncResourceLinkObject[исходный код]
Делает публичный ресурс приватным.
- Параметры:
path – путь к ресурсу, подлежащему депубликации
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
Получение мета-информации о публичных ресурсах
- Client.get_public_meta(public_key: str, /, **kwargs) SyncPublicResourceObject[исходный код]
Получает мета-информацию о публичном ресурсе.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки. Указывая ключ опубликованной папки через public_key, вы можете запросить метаинформацию любого ресурса внутри неё.
offset – отступ от начала списка вложенных ресурсов
limit – максимальное количество элементов списка вложенных ресурсов
sort – str, поле используемое для сортировки вложенных ресурсов
preview_size – размер превью файла
preview_crop – bool, разрешить обрезку превью
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- Client.get_public_type(public_key: str, /, **kwargs) str[исходный код]
Получает тип публичного ресурса.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- Client.is_public_dir(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, является ли публичный ресурс публичной папкой.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если public_key является папкой, False, в остальных случаях (даже если ресурс не существует)
- Client.is_public_file(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, является ли публичный ресурс публичным файлом.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если public_key является файлом, False, в остальных случаях (даже если ресурс не существует)
- Client.public_exists(public_key: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли публичный ресурс.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
Скачивание публичных ресурсов
- Client.get_public_download_link(public_key: str, /, **kwargs) str[исходный код]
Получает ссылку на скачивание публичного ресурса.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
path – относительный путь к ресурсу внутри публичной папки
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
str
- Client.download_public(public_key: str, file_or_path: str | bytes | BinaryIO, /, **kwargs) SyncPublicResourceLinkObject[исходный код]
Скачивает публичный ресурс.
- Параметры:
public_key – публичный ключ или URL к публичному ресурсу
file_or_path – путь назначения или файл-подобный объект
path – относительный путь к ресурсу внутри публичной папки
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
- Результат:
Сохранение публичных ресурсов на Диск
- Client.save_to_disk(public_key: str, /, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]
Сохраняет публичный ресурс на диск. Возвращает ссылку на операцию, если сохранение выполняется асинхронно, или возвращает ссылку на ресурс.
- Параметры:
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, таймаут запроса
headers – dict или None, дополнительные заголовки запроса
n_retries – int, максимальное число повторных попыток запроса
retry_interval – задержка между повторными попытками в секундах
retry_on – tuple, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске
UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
Получение списка публичных ресурсов
- Client.get_public_resources(**kwargs) SyncPublicResourcesListObject[исходный код]
Получает список публичных ресурсов.
- Параметры:
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 – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- Client.get_all_public_resources(*, max_items: int | None = None, **kwargs) Generator[SyncPublicResourceObject, None, 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 – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
генератор
SyncPublicResourceObject
Настройка публичного доступа
- Client.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, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- Client.get_public_available_settings(path: str, /, **kwargs) PublicAvailableSettingsObject[исходный код]
Получает список всех настроек доступа к своему ресурсу, к которому предоставлен публичный доступ.
- Параметры:
path – путь к ресурсу
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
- Client.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, дополнительные классы исключений, которые вызовут повторную попытку
requests_args – dict, Дополнительные параметры для
RequestsSessionhttpx_args – dict, дополнительные параметры для
HTTPXSessioncurl_options – dict, дополнительные опции для
PycURLSessionkwargs – другие параметры для
Session.send_request()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
Дополнительная информация о данном запросе:
- Результат:
None
Корзина
- Client.get_trash_meta(path: str, /, **kwargs) SyncTrashResourceObject[исходный код]
Получает мета-информацию о ресурсе корзины.
- Параметры:
path – путь к ресурсу корзины
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
sort – str, поле используемое для сортировки вложенных ресурсов
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
Дополнительная информация о данном запросе:
- Результат:
- Client.trash_exists(path: str, /, **kwargs) bool[исходный код]
Проверяет, существует ли path в корзине.
- Параметры:
path – путь к ресурсу корзины
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
bool
- Client.restore_trash(path: str, /, dst_path: str | None = None, **kwargs) SyncResourceLinkObject | SyncOperationLinkObject[исходный код]
Восстанавливает ресурс корзины. Возвращает ссылку на новый ресурс или ссылку на асинхронную операцию.
- Параметры:
path – путь к восстанавливаему ресурсу
dst_path – путь назначения
overwrite – bool, определяет может ли путь назначения быть перезаписан
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
PathExistsError – путь назначения уже существует
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
- Client.remove_trash(path: str, /, **kwargs) SyncOperationLinkObject | None[исходный код]
Удаляет ресурс корзины.
- Параметры:
path – путь к ресурсу корзины, подлежащий удалению
force_async – заставляет выполнять операцию асинхронно
fields – список ключей, которые будут включены в ответ
wait – bool, если
True, метод будет ожидать завершения асинхронной операцииpoll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)
Дополнительная информация о данном запросе:
- Результат:
SyncOperationLinkObject, если операция выполняется асинхронно, иначе None
- Client.trash_listdir(path: str, /, **kwargs) Generator[SyncTrashResourceObject, None, None][исходный код]
Получает содержимое папки в корзине.
- Параметры:
path – путь к папке в корзине
max_items – int или None, максимальное число возвращаемых элементов в списке (None означает неограниченное число)
limit – количество ресурсов в папке, которые будут включены в ответ
offset – количество ресурсов в папке, которые будут пропущены
preview_size – размер превью файла
preview_crop – bool, обрезает превью согласно размеру, заданному в preview_size
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
WrongResourceTypeError – указанный ресурс не является папкой
- Результат:
генератор
SyncTrashResourceObject
- Client.get_trash_type(path: str, /, **kwargs) str[исходный код]
Получает тип ресурса корзины.
- Параметры:
path – путь к ресурсу корзины
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()
- Исключение:
PathNotFoundError – ресурс не был найден на Диске
ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
«file» или «dir»
- Client.is_trash_dir(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path папкой в корзине.
- Параметры:
path – путь к ресурсу корзины
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)
- Client.is_trash_file(path: str, /, **kwargs) bool[исходный код]
Проверяет, является ли path файлом в корзине.
- Параметры:
path – путь к ресурсу корзины
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 – у приложения не хватает прав, чтобы выполнить данный запрос
- Результат:
True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)
Получение статуса операции
- Client.get_operation_status(operation_id: str, /, **kwargs) Literal['in-progress', 'success', 'failed'][исходный код]
Получает статус операции.
- Параметры:
operation_id – идентификатор операции или ссылка на нее
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()
- Исключение:
OperationNotFoundError – указанная операция не найдена
Дополнительная информация о данном запросе:
- Результат:
str,
"in-progress"означает, что операция в процессе,"success"означает, что операция успешно завершилась,"failed"означает, что операция завершилась с ошибкой
- Client.wait_for_operation(operation_id: str, /, *, poll_interval: float = 1.0, poll_timeout: float | None = None, **kwargs) None[исходный код]
Ждёт, пока операция не будет выполнена. Если операция не удалась, вызывает исключение. Ожидание осуществляется с помощью вызова
time.sleep.- Параметры:
operation_id – идентификатор операции или ссылка на нее
poll_interval – float, интервал в секундах между проверками статуса операции
poll_timeout – float or None, таймаут ожидания операции (None означает отсутствие таймаута), если этот таймаут превышен, будет вызвано исключение
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()
- Исключение:
OperationNotFoundError – указанная операция не найдена
AsyncOperationFailedError – не удалось совершить операцию
AsyncOperationPollingTimeoutError – указанная операция не завершилась в указанное время (когда poll_timeout не None)