Quickstart

Authentication

Drive API requires OAuth2.0 for authentication. PyDrive makes your life much easier by handling complex authentication steps for you.

  1. Go to APIs Console and make your own project.
  2. On ‘Services’ menu, turn Drive API on.
  3. On ‘API Access’ menu, create OAuth2.0 client ID.
  1. Select ‘Application type’ to be Web application.
  2. Click on ‘more options’ in hostname settings
  3. Input http://localhost:8080/ for both ‘Redirect URIs’ and ‘JavaScript origins’.
  1. Click ‘Download JSON’ on the right side of Client ID to download client_secrets.json

client_secrets.json is the file that has all authentication information of your application. Put this file in your working directory.

Create quickstart.py file and copy and paste the following code.

from pydrive.auth import GoogleAuth

gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication

Run this code with python quickstart.py and you will see a web browser asking you for authentication. Click Accept and you are done with authentication. For more details, take a look at documentation: OAuth made easy

Creating and updating file

There are many methods to create and update file metadata and contents. With PyDrive, all you have to know is Upload() method which makes optimal API call for you. Add the following code to your quickstart.py and run it.

from pydrive.drive import GoogleDrive

drive = GoogleDrive(gauth)

file1 = drive.CreateFile({'title': 'Hello.txt'})  # Create GoogleDriveFile instance with title 'Hello.txt'
file1.SetContentString('Hello World!') # Set content of the file from given string
file1.Upload()

This code will create a new file with title Hello.txt and its content Hello World!. You can see and open this file from Google Drive if you want. For more details, take a look at documentation: File management made easy

Getting list of files

PyDrive handles paginations and parses response as list of GoogleDriveFile. Let’s get title and id of all the files in the root folder of Google Drive. Again, add the following code to quickstart.py and execute it.

# Auto-iterate through all files that matches this query
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
  print 'title: %s, id: %s' % (file1['title'], file1['id'])

You will see title and id of all the files and folders in root folder of your Google Drive. For more details, take a look at documentation: File listing made easy

Table Of Contents

Previous topic

Welcome to PyDrive’s documentation!

Next topic

OAuth made easy

This Page