3

Ich möchte Python verwenden, um eine Liste aller Dateien/Ordner in einem bestimmten Ordner in Google Drive zu erhalten. Der Anruf Ich verwende, ist dies:Warum wird Google API V3 keine Kinder zurückgeben?

query = parentID + " in parents" 

response = service.files().list(q=query, 
           spaces='drive', 
           fields='files(id, name, parents)').execute() 

Nach der search for files Dokumentation und der migrating to v3 Dokumentation, sollte ich es richtig tun. Aber wenn ich den Code ausführen, bekomme ich folgende Fehlermeldung:

<HttpError 400 when requesting https://www.googleapis.com/drive/v3/files?q=[MY_PARENT_ID]+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29 returned "Invalid Value"> 

Was mit meiner Abfrage falsch ist und wie würde ich nennen richtig das?

+0

Mistaken-Tag. Danke für das Reparieren – Elliptica

Antwort

4

Nach etwa 15 Stunden mit dem Versuch gefunden, diese Lösung:

nur die Variable Abfrage ändern, wie id suppose Eltern folgt

'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' ist
query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' in parents" 

jetzt sollte es funktionieren.

sollte es auch funktionieren, wenn Sie Einzel- und Doppel quotes..what vertauschen Sie die Ergebnisse in query="0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk in parents" wurden mit während das, was wir brauchen ist query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' in parents"

alternative Art und Weise, dies zu tun ist:

parentId='0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' 
query="'" + "' in parents" 

Warum ist dies geschieht: -
Wenn Sie richtig an Ihrem Ausgangsfehler suchen, Es hat einen http-Link, die wie folgt aussieht:
https://www.googleapis.com/drive/v3/files?q=0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29


aber die benötigte eine einfache Anführungszeichen um die Id hat und sieht wie folgt aus:
https://www.googleapis.com/drive/v3/files?q='0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29

+0

Wie ist das anders als das, was ich versuchte? Z.B. Wenn ich "query = parentID +" in eltern "' und 'parentId = '0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'' verwendet habe, dann ist' query = parentID + "in eltern" 'das selbe wie' query = "' 0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk 'in eltern", oder? Oder ist der Unterschied die einfachen Anführungszeichen innerhalb der doppelten Anführungszeichen? – Elliptica

+0

Überprüfen Sie die bearbeitete Antwort –

+0

Danke! Das macht eine Menge Sinn. – Elliptica