Как получить список файлов в чужой папке яндекс диск?

Вот есть ссылка на папку в Яндекс диске, https://disk.yandex.ru/d/eQ5SzEybu_WYdg.

А есть код который скачивает всю эту папку архивом:

import requests
from urllib.parse import urlencode
base_url = 'https://cloud-api.yandex.net/v1/disk/public/resources/download?'
public_key = 'https://disk.yandex.ru/d/eQ5SzEybu_WYdg'
final_url = base_url + urlencode(dict(public_key=public_key))
response = requests.get(final_url)
download_url = response.json()['href']
download_response = requests.get(download_url)
with open('downloaded_file.zip', 'wb') as f:
    f.write(download_response.content)

Есть какой-то способ до скачивания всего, узнать список папок и файлов в ссылке и скачать только файлы из определенной папки?


Ответы (1 шт):

Автор решения: Danila Kartovitskii

Плоский список всех файлов yandex.ru/dev/disk/api/reference/all-files.html

Операции над опубликованными файлами и папками yandex.ru/dev/disk/api/reference/public.html

Запрос метаинформации следует отправлять с помощью метода GET.

https://cloud-api.yandex.net/v1/disk/public/resources
 ? public_key=<ключ опубликованного ресурса>
 & [path=<путь к ресурсу>]
 & [sort=<атрибут сортировки>]
 & [limit=<ограничение на количество возвращаемых
                ресурсов>]
 & [preview_size=<размер превью>]
 & [preview_crop=<признак обрезки превью>]
 & [offset=<смещение относительно начала списка>]

Формат ответа можете посмотреть по ссылке выше

→ Ссылка