Python Google Drive API を使用してファイルのリモート パスを構築しようとしています。/folderA/FolderB/folderC/theFile.txt というパスを指定すると、ファイルを folderC にアップロードする前に、Drive に folderA を作成し、次にその中に folderB を作成し、次に B に folderC を作成します。
私は短いループを持っています:
currentParent = pathStartID
for aFolder in pathArray:
thisFoldersID = self.createRemoteFolder(aFolder, parentID = currentParent)
currentParent = thisFoldersID
最初にドライブ ルートに folderA を作成します。folderA の ID は「pathStartID」です。pathArray には、folderB と folderC の名前が含まれています。
createRemoteFolder()
次のようになります。
def createRemoteFolder(self, folderName, parentID = None):
# Create a folder on Drive, returns the newely created folders ID
body = {
'title': folderName,
'mimeType': "application/vnd.google-apps.folder"
}
if parentID:
body['parentsCollection'] = [{'id': parentID}]
root_folder = driveFileMan.client.files().insert(body = body).execute()
return root_folder['id']
しかし、何らかの理由で、すべてのフォルダーが、私が望む親フォルダーではなく、Google ドライブのルートに作成されています。
誰かが私が間違っていることを見つけることができますか? または、これを行う簡単な方法はありますか?