import logging from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive logging.getLogger('googleapiclient.discovery_cache').setLevel(logging.ERROR) def driveAuthorization(): """Authorizes access to the Google Drive""" gauth = GoogleAuth() gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication. drive = GoogleDrive(gauth) return drive def getGrootFolderId(drive): """Shows the Folder Id of Groot Folder in your Google Drive""" fileFolderList = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList() for GrootFolder in fileFolderList: if GrootFolder['title'] == 'Groot': print ('title: %s, id: %s' % (GrootFolder['title'], GrootFolder['id'])) return GrootFolder['id'] def getFileList(drive): """Gives the file list inside of the Groot Folder""" folderId = getGrootFolderId(drive) file_list = drive.ListFile({'q': "'%s' in parents and trashed=false"%folderId}).GetList() filedict = {} for file1 in file_list: filedict[file1['title']]= file1['id'] return filedict def createFile(filename,fileContent): """Creates file in the Groot Directory: fileName: "Name of the file(.txt added later)" fileContent = "Content of file" """ drive = driveAuthorization() folderid = getGrootFolderId(drive) fileList = getFileList(drive) if folderid: print("Groot Folder Found and Fid Created") else: return "Fid not found please create folder named Groot in your Google Drive" title = str(filename)+".txt" if title in fileList.keys(): return "Name Already Exists Please Choose Another Name" f = drive.CreateFile({"title" : title ,"parents": [{"kind": "Groot/", "id": folderid}]}) f.SetContentString(fileContent) f.Upload() return "Successful" def getGrootFolderContent(): drive = driveAuthorization() f = getFileList(drive) fileDict = {} for key,value in f.items(): file1 = drive.CreateFile({'id': value}) content = file1.GetContentString() fileDict[key] = content return fileDict