PyDrive2
PyDrive2 copied to clipboard
A simple way of initializing a pydrive.GoogleDrive object fails when pydrive is replaced by pydrive2
The following code works when executed in Google Colab. The code is, in fact, copied from one of the official Google Colab tutorials, the one titled External data: Local Files, Drive, Sheets, and Cloud Storage.
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
However, when pydrive is replaced by pydrive2 in the above listing, and the code is executed in Google Colab, the following error messages result:
---------------------------------------------------------------------------
MessageError Traceback (most recent call last)
[<ipython-input-4-3254a9bed9fd>](https://localhost:8080/#) in <cell line: 1>()
----> 1 auth.authenticate_user()
2 gauth = GoogleAuth()
3 gauth.credentials = GoogleCredentials.get_application_default()
4 drive = GoogleDrive(gauth)
2 frames
[/usr/local/lib/python3.10/dist-packages/google/colab/_message.py](https://localhost:8080/#) in read_reply_from_input(message_id, timeout_sec)
101 ):
102 if 'error' in reply:
--> 103 raise MessageError(reply['error'])
104 return reply.get('data', None)
105
MessageError: Error: credential propagation was unsuccessful
Why doesn't the code work with pydrive2? Can pydrive2 be made to work with this code? If not, is there a simple alternative?
PTAL here https://github.com/iterative/PyDrive2/issues/187
Closing as a duplicate