2016-06-20 13 views
2

Ich verwende PyDrive QuickStart-Skript, um meine Google Drive-Dateien aufzulisten.Verwalten von Dateien aus öffentlichen Google Drive URL mit PyDrive

Code:

from pydrive.auth import GoogleAuth 
from pydrive.drive import GoogleDrive 

gauth = GoogleAuth() 
gauth.LocalWebserverAuth() 

drive = GoogleDrive(gauth) 

file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList() 

print(file_list) 

Ich bin in der Lage meine Dateien in der Regel zur Liste, aber ich brauche zur Liste und Verwalten von Dateien von einer anderen öffentlichem Laufwerk URL (was nicht das mein persönliches authentifizierten Laufwerk) von meiner bereits authentifizierte Google Drive Konto wie wenn ich Anfragen lib. Irgendwelche Ideen, wie es geht?

Antwort

4
  1. Sie müssen die Ordner-ID abrufen. Sie finden die ID in der URL des Ordners. Ein Beispiel wäre: https://drive.google.com/open?id=0B-schRXnDFZeX0t0RnhQVXXXXXX (der Teil der URL nach dem id=).

  2. Listet den Inhalt eines Ordners anhand der ID auf. Angesichts Ihrem Code, den Sie ersetzen file_list = ... mit:

    file_id = '<Your folder id here.>' 
    file_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % file_id}).GetList() 
    

    Wenn dies nicht funktioniert, können Sie die Remote-Ordner auf Ihr Google Drive hinzufügen, müssen Sie die „Add to Drive“ -Button in der oberen rechten Ecke des freigegebenen Ordners wenn in einem Browser geöffnet.

    file_object = drive.CreateFile({ 
          "parents": [{"kind": "drive#fileLink", 
             "id": parent_id}], 
          'title': file_name, 
          # (Only!) If the new 'file' object is going be a folder: 
          'mimeType': "application/vnd.google-apps.folder" 
         }) 
    file_object.Upload() 
    

    Wenn dies nicht gelingt prüfen, ob Sie auf den Ordner-Berechtigungen schreiben:

    2.1 eine Datei in einem Ordner erstellen kann, wie dies getan werden.

    2.2 Löschen/eine Datei Wegwerfen kann die von GitHub mit der aktualisierten Version erfolgen: pip install instructions, Delete/Trash/UnTrash documentation

Schließlich gibt es noch ein feature request auf Ordner hochladen, wie in 2.1 beschrieben, und listing files of a folder, wie beschrieben in 2. - Wenn Sie das oben genannte nicht finden, können Sie dies als eine Frage/Feature Anfrage zum Repository hinzufügen.

+0

Hey, danke! Das Hinzufügen der Öffentlichen Ordner-ID zu "root" funktionierte –

+0

ListFile mit einer Öffentlichen Ordner-ID funktioniert für mich. Ist es jedoch möglich, den OAuth zu deaktivieren, da ich auf einen öffentlichen Ordner zugreife? – songuke

+0

Coole Idee - es sollte möglich sein! Sie können eine Feature-Anforderung oder Pull-Anforderung hier einreichen: https://github.com/googledrive/PyDrive –

Verwandte Themen