Для каждого сайта я выбирал списки через нижнюю конечную точку:
/_api/web/lists?$select=id&$filter=hidden eq false and iscatalog eq false and basetemplate eq 101 and itemcount ne 0
Затем для каждого списка я выбирал папки и файлы:
/_api/web/lists/getbyid('#{list_id}')/rootfolder?$expand=folders,files
Давайте вызовем выше list_folder_files.
list_folders = list_folders_files ['Folders']. Select {| x | x ['ItemCount']! = 0}
И для каждой папки я выбрал подпапку и файлы:
/_api/web/getfolderbyserverrelativeurl('#{list_folder['ServerRelativeUrl']}')?$expand=folders,files