Skip to content

Instantly share code, notes, and snippets.

@float1251
Created November 26, 2018 02:14
Show Gist options
  • Save float1251/3258d7421313c5c4f05e822c2e90b666 to your computer and use it in GitHub Desktop.
Save float1251/3258d7421313c5c4f05e822c2e90b666 to your computer and use it in GitHub Desktop.
google driveの指定フォルダにuploadする
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
from googleapiclient.http import MediaFileUpload
# If modifying these scopes, delete the file token.json.
SCOPES = 'https://www.googleapis.com/auth/drive.file'
drive_service = None
def auth():
"""Shows basic usage of the Drive v3 API.
Prints the names and ids of the first 10 files the user has access to.
"""
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
store = file.Storage('token.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('credentials.json', SCOPES)
creds = tools.run_flow(flow, store)
service = build('drive', 'v3', http=creds.authorize(Http()))
global drive_service
drive_service = service
# Call the Drive v3 API
# results = service.files().list(
# pageSize=100, fields="nextPageToken, files(id, name)").execute()
# items = results.get('files', [])
# if not items:
# print('No files found.')
# else:
# print('Files:')
# for item in items:
# print(u'{0} ({1})'.format(item['name'], item['id']))
def upload_file():
folder_id = "【フォルダのID/apiから取得するかurlからコピペする】"
file_metadata = {
'name': "photo.jpg",
'parents': [folder_id]
}
media = MediaFileUpload('photo.jpg',
mimetype='image/jpeg',
resumable=True)
file = drive_service.files().create(body=file_metadata,
media_body=media,
fields='id').execute()
if __name__ == '__main__':
auth()
upload_file()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment