PyDrive2
PyDrive2 copied to clipboard
fs.makedirs() fails unless you put a file in the folder (shared drive)
Example:
# Setup
from pydrive2.fs import GDriveFileSystem
from pydrive2.auth import GoogleAuth
settings = {
"client_config_backend": "service",
'service_config': {
'client_json_dict': {
"type": "service_account",
"private_key_id": str(os.getenv('xxx')),
"private_key": str(os.getenv('xxx')).replace('\\n', '\n'),
"client_email": str(os.getenv('xxx')),
"client_id": str(os.getenv('xxx')),
},
'oauth_scope': [
'https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/drive.metadata'
]
}
}
g = GoogleAuth(settings=settings)
g.ServiceAuth()
shared_d_name = "xxx"
fs = GDriveFileSystem(
shared_d_name,
google_auth=g
)
# Example that does not recursively create folders, and no exceptions raised
folder_path = f'{shared_d_name}/test_parent/test'
fs.makedirs(folder_path)
# Example that creates the folders
folder_path = f'{shared_d_name}/test_parent2/test2'
fs.makedirs(folder_path)
with fs.open(folder_path+'hi.txt', 'w') as f:
f.write('hi')
Easy to make and then delete the file as a workaround, but the lack of success in the first example was wierd. Best, T