2

Ich versuche herauszufinden, wie die Dateigröße einer auf Google Drive hochgeladenen Datei abgerufen werden kann. Laut der docs sollte dies in den Metadaten der Datei sein ... aber wenn ich es anfrage, ist die Dateigröße überhaupt nicht in den Metadaten.Abrufen der Dateigröße von Google Drive Api (Python)

file = self.drive_service.files().get(fileId=file_id).execute() 
print(file) 

>>> {u'mimeType': u'application/x-zip', u'kind': u'drive#file', u'id': u'0B3JGbAfem1CrWnhtWq5qYlkzSXf', u'name': u'myfile.ipa'} 

Was fehlt mir hier? Wie kann ich die Dateigröße überprüfen?

Antwort

3

Standardmäßig sind nur einige ausgewählte Attribute in den Metadaten enthalten.

spezifische Attribute anzufordern, verwenden Sie die fields Parameter:

file = self.drive_service.files().get(fileId=file_id, fields='size,modifiedTime').execute() 

dies eine Datei Größe und Änderungszeit abfragen würde.

Übrigens bezieht sich der Link, den Sie gepostet haben, auf die alte API von v2. Sie finden eine Liste aller Dateiattribute in der aktuellen v3 API here.

+2

Hinweis: Sie können auch fields = '*' hinzufügen, um einfach alles zurückzugeben. – DaImTo

+0

Beachten Sie, dass einige Felder für Google Text & Tabellen oder Verknüpfungsdateien nicht ausgefüllt werden, auch wenn Felder = '*', z. Größe, md5Checksum usw. –

2

Ihnen fehlt hier der spezielle Abfrageparameter 'Felder'. Es wird verwendet, um Google Apis teilweise zu antworten. Die partielle Antwort wird hauptsächlich verwendet, um die api-Anrufleistung zu verbessern.

Es gibt eine kleine Änderung in der neu eingeführten v3 apis, die Dateiliste apis Antwort geben einige Standardattribute in der Antwort, im Gegensatz zu den v2 Apis, die standardmäßig alle Attribute als Antwort geben.

Wenn Sie alle Attribute in der Antwort möchten, übergeben Sie 'Felder = *' als Abfrage.

Hoffe, das hilft!