2016-10-29 6 views
0

diese Funktionen:Ungültige Abfrage, Drive api, files.list()

drive.ListFile({'q': " id = '"+Value+"' and trashed=false"}).GetList() 

Rückkehr: "Ungültige Abfrage"

Das Problem in der Auswahl 'id' liegt, wenn ich hebe diese Bedingung I Rückkehr ein Wörterbuch mit dem Parameter 'id'

ich diesen doc gewohnt bin, https://developers.google.com/drive/v2/reference/files/list und https://developers.google.com/drive/v3/web/search-parameters

Es funktioniert perfekt für andere Wähler, aber für ‚id‘ sollte

+0

Gibt es eine Frage, die Sie gerne beantworten möchten? Oder ein Ziel? – Ukimiku

+0

Ich muss die Funktion ausführen – simone989

+0

Was meinst du mit "[...] aber für 'ID' sollte es nicht sein"? Es sollte nicht was sein? –

Antwort

2

EDIT nicht sein: Hier ist, wie Sie Metadaten zugreifen können, und erhalten und stellen Inhalt einer bestehenden Datei durch seine ID.

# Calling CreateFile() with an existing ID links it to the already existing file. 
gdrive_file = drive.CreateFile({'id': '<your file id>'}) 
gdrive_file.FetchMetadata() # Only needed if you want to view or edit its metadata. 
# Do things with metadata here as needed. 

gdrive_file.GetContentFile('dog.png') # Download content file. 

# And/or upload a new content file. 
gdrive_file.SetContentFile('cat.png') 
gdrive_file.Upload() 

Und natürlich haben die docs ein paar Beispiele.

Original: Werfen Sie einen Blick auf die docs for file listings für Beispiele.

Stellen Sie sicher, dass Sie

  1. Sie Ihre eigenen Räume rund um = Zeichen nicht vorstellen,
  2. PyDrive verwendet die Google Drive API v2, so stellen Sie sicher, dass Sie the v2 search parameter page stattdessen verwenden,
  3. Die ID ist Die von Google Drive zugewiesene Ordner-ID this SO question listet Möglichkeiten auf, um die ID zu finden.

Zum Beispiel:

from pydrive.drive import GoogleDrive 

drive = GoogleDrive(gauth) # Create GoogleDrive instance with authenticated GoogleAuth instance 
folder_id = "insert your folder ID here" 

# Auto-iterate through all files in the specified folder. 
file_list = drive.ListFile({ 
    'q': "{id} in parents and trashed=false".format(id=folder_id) 
}).GetList() 

for file1 in file_list: 
    print('title: %s, id: %s' % (file1['title'], file1['id'])) 
1

id ist kein unterstütztes Abfragefeld für Datei-Suche.

Überprüfen Sie die Dokumentation for Drive API v2, um gültige Felder für die Suche zu sehen.