googledrive google from python google-drive-sdk

python - from - Descargar imágenes de Google Drive



from pydrive drive import googledrive (1)

Los documentos en formatos nativos de Google (application / vnd.google-apps.XXX) no tienen la propiedad downloadUrl , en su lugar puede usar la colección exportLinks para descargarlos en uno de los formatos admitidos:

https://developers.google.com/drive/manage-downloads#downloading_google_documents

Estoy tratando de descargar algunos archivos de imagen de Google Drive usando la aplicación python. El código que estoy usando primero obtiene el objeto de recurso de archivo, el encuentra el DownloadUrl y lo usa para descargar el archivo. El problema es que los archivos .gif y png no parecen tener una URL de descarga.

service = self.user.profile.DriveService() conditions = [] conditions.append("title=''image.png'') conditions.append("trashed = false") response = service.files().list(q=" and ".join(conditions)).execute() f = response[''items''][0] url = f[''downloadUrl''] # Now download the file from url ...

Esto funciona bien para descargar archivos de texto y html. Cuando intento descargar archivos de imagen, tienen la propiedad downloadUrl. Aquí hay un recurso de archivo de imagen de ejemplo

u''alternateLink'': u''https://docs.google.com/document/d/1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk/edit'', u''appDataContents'': False, u''createdDate'': u''2013-01-20T08:39:55.314Z'', u''editable'': True, u''embedLink'': u''https://docs.google.com/document/d/1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk/preview'', u''etag'': u''"Q0cVodxX8sh4vfxZTlOyWcmmc0k/MTM1ODY3MTE5NzY5Nw"'', u''exportLinks'': {u''application/pdf'': u''https://docs.google.com/feeds/download/documents/export/Export? id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=pdf'', u''application/rtf'': u''https://docs.google.com/feeds/download/documents/export/Export?id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=rtf'', u''application/vnd.oasis.opendocument.text'': u''https://docs.google.com/feeds/download/documents/export/Export?id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=odt'', u''application/vnd.openxmlformats-officedocument.wordprocessingml.document'': u''https://docs.google.com/feeds/download/documents/export/Export?id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=docx'', u''text/html'': u''https://docs.google.com/feeds/download/documents/export/Export?id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=html'', u''text/plain'': u''https://docs.google.com/feeds/download/documents/export/Export?id=1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk&exportFormat=txt''}, u''iconLink'': u''https://ssl.gstatic.com/docs/doclist/images/icon_11_document_list.png'', u''id'': u''1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk'', u''kind'': u''drive#file'', u''labels'': {...}, u''lastModifyingUserName'': u''Max Ferguson'', u''lastViewedByMeDate'': u''2013-01-20T08:39:57.697Z'', u''mimeType'': u''application/vnd.google-apps.document'', u''modifiedByMeDate'': u''2013-01-20T08:39:57.697Z'', u''modifiedDate'': u''2013-01-20T08:39:57.697Z'', u''ownerNames'': [u''Max Ferguson''], u''parents'': [{u''id'': u''0BxiZtRrps_bKaXM1OXJtUXBkOTg'', u''isRoot'': False, u''kind'': u''drive#parentReference'', u''parentLink'': u''https://www.googleapis.com/drive/v2/files/0BxiZtRrps_bKaXM1OXJtUXBkOTg'', u''selfLink'': u''https://www.googleapis.com/drive/v2/files/1S9amlqcwLl9FOYmHFhv_RK_NwPI47IWj8iGcIK9p8hk/parents/0BxiZtRrps_bKaXM1OXJtUXBkOTg''}],

No puedo entender por qué no hay downloadUrl. Esto puede deberse a que el tipo mimet es application / vnd.google-apps.document pero el archivo es definitivamente una imagen. Los enlaces de miniatura ect apuntan a una imagen. Cualquier ayuda sería apreciada.