iterative / PyDrive2

Google Drive API Python wrapper library. Maintained fork of PyDrive.
https://docs.iterative.ai/PyDrive2
Other
570 stars 70 forks source link

fix(upload): returns broken `downloadUrl` #270

Closed shcheklein closed 1 year ago

shcheklein commented 1 year ago

This code:

             self.auth.service.files()
                .insert(**param)
                .execute(http=self.http)

That is used here https://github.com/iterative/PyDrive2/blob/main/pydrive2/files.py#L678-L680

Started returning metadata object with download URL like this:

'downloadUrl': 'https://www.googleapis.com/drive/v2/files/16USPEjsYg7WEL3J62p4N4TRE5_ZMr3SW?alt=media&source=downloadUrl'

That was breaking the download content later that is relying on the downloadUrl here:

https://github.com/iterative/PyDrive2/blob/main/pydrive2/files.py#L476

And it's visible in the tests, e.g. here: https://github.com/iterative/PyDrive2/pull/269

I hope it's a temporary patch and it will be fixed upstream soon. It might be related to the deprecated v2 of the API which we don't have capacity at the moment to fix :(

shcheklein commented 1 year ago

@iterative/dvc gentle ping. Please review and approve if this looks reasonable.