Как быстро и эффективно получить всю структуру папок на Google диске? - PullRequest
1 голос
/ 15 апреля 2020

Теперь мне нужно загрузить файлы со всего диска Google на s3, и мне нужно поддерживать ту же структуру каталогов, что и на диске Google. Когда я получил файловую структуру диска Google, я обнаружил, что могу получать файлы только из каталога root слой за слоем, так что я могу получить файлы и пути к файлам полностью.

def get_folderid_path(self, parent):
    children = self.get_request(q="'%s' in parents" % parent)
    for child in children:
        child_id = child.get("id")
        child_name = child.get("name")
        child_mime_type = child.get("mimeType")
        if child_mime_type == "application/vnd.google-apps.folder":
            self.folder_path = self.test_list[-1] + "/" + child_name
            self.test_list.append(self.folder_path)
            self.folder_id_path_dict[child_id] = self.folder_path
            self.get_folderid_path(child_id)
        elif child_mime_type == "application/octet-stream" and child_name.endswith(
            ".side"
        ):
            child_file_list = self.folder_id_childlist_dict.get(parent, [])
            if not child_file_list:
                self.folder_id_childlist_dict[parent] = child_file_list
            child_file_list.append({"id": child_id, "name": child_name})

    if self.test_list:
        self.test_list.pop()

I использовать рекурсивный метод, я не знаю, есть ли более удобный метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...