Skip to content

Instantly share code, notes, and snippets.

@judell
Created April 10, 2017 19:55
Show Gist options
  • Save judell/6a00228c263ac417bbb61bd1e5a61149 to your computer and use it in GitHub Desktop.
Save judell/6a00228c263ac417bbb61bd1e5a61149 to your computer and use it in GitHub Desktop.
pydrive auth example
def get_gdoc_access_token():
refresh_token = '1/yxDrJ ... redacted ... ADXvCU'
client_id = 'redacted.apps.googleusercontent.com'
client_secret = 'redacted'
refresh_url = 'https://accounts.google.com/o/oauth2/token'
data = 'refresh_token=%s&client_id=%s&client_secret=%s&grant_type=refresh_token' % (refresh_token, client_id, client_secret)
r = requests.post(refresh_url, data, headers={'Content-Type':'application/x-www-form-urlencoded'})
response = json.loads(r.text)
access_token = response['access_token']
return access_token
def get_gdoc_files_in_folder(folder_id=None):
access_token = get_gdoc_access_token()
folder_api_get = 'https://www.googleapis.com/drive/v2/files/%s/children' % folder_id
file_api_get = 'https://www.googleapis.com/drive/v2/files/'
headers = { 'Authorization':'Bearer %s' % access_token }
r = requests.get(url=folder_api_get, headers=headers)
items = r.json()['items']
s = ''
for item in items:
r = requests.get(url=file_api_get + item['id'], headers=headers)
obj = r.json()
owners = ', '.join(obj['ownerNames'])
s += '%s, %s, %s\n' % ( obj['ownerNames'], obj['title'], obj['id'] )
print s
get_gdoc_files_in_folder(folder_id='redacted')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment