2014-04-08 5 views
9

Ich versuche, Dateien von einem lokalen Computer in einen bestimmten Ordner in GDrive mit PyDrive zu kopieren. Wenn der Zielordner noch nicht existiert, möchte ich ihn erstellen. Hier ist der relevante Teil meiner Code:PyDrive: kann Datei nicht in bestimmten GDrive-Ordner schreiben

gfile = drive.CreateFile({'title':'dummy.csv', 
     'mimeType':'text/csv', 
     'parent': tgt_folder_id}) 
gfile.SetContentFile('dummy.csv') 
gfile.Upload() # Upload it 

ich auf jeden Fall bin die Schaffung/korrekt den Zielordner zu finden, und die tgt_folder_id ist richtig, aber PyDrive immer schreibt die Datei in den Stammordner meines Google Drive, nicht der Zielordner, den ich über den 'Eltern' Parameter angegeben habe.

Was mache ich hier falsch?

Antwort

22

OK, sieht aus wie das ist, wie Sie es tun:

gfile = drive.CreateFile({'title':'dummy.csv', 'mimeType':'text/csv', 
     "parents": [{"kind": "drive#fileLink","id": tgt_folder_id}]}) 

Die „Eltern“ Karte im Google Drive SDK verwendet, die PyDrive soll wickeln. Aber die wenigen Beispiele, die ich mit PyDrive gesehen habe, verwenden "Eltern" und scheinen nicht zu funktionieren.

Wie auch immer, hoffe das hilft jedem anderen, der das gleiche Problem hat.

+1

Dies ist genau das, was ich brauchte. Vielen Dank. –

+0

Ausgezeichnete selbst beantwortete Frage. Ohne das wäre ich sehr fest :) – Joe

Verwandte Themen