Trying to create folder on google drive using pydrive
:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
Authentication works, I can download some files from my drive, etc.
But can't figure out, how to create new folder. I'm trying:
folder_id = 'parent_folder_id'
file_metadata = {
'name': 'test_folder',
'parents': [folder_id],
'mimeType': 'application/vnd.google-apps.folder'
}
file = drive.files().create(body=file_metadata, fields='id').execute()
This gives error: 'GoogleDrive' object has no attribute 'files'
Seems i missing something from docs, not sure what exactly though.
Any help appreciated.
The python sample code that is used in the create folder example uses google-api-python-client based on the Python Quickstart, You can refer to this Drive API documentation for the list of methods available in google-api-python-client.
pydrive has a different methods used for Creating and updating file. You need to use CreateFile(metadata) to create an instance of GoogleDriveFile then use Upload()
Sample Code:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
folder_id = 'parent_folder_id'
file_metadata = {
'name': 'test_folder',
'parents': [folder_id],
'mimeType': 'application/vnd.google-apps.folder'
}
folder = drive.CreateFile(file_metadata)
folder.Upload()
Additional Reference:
TO CREATE A NEW FOLDER IN GOOGLE DRIVE THROUGH PYTHON SCRIPT USING PYDRIVE MODULE