-
Notifications
You must be signed in to change notification settings - Fork 0
/
SheetsApp.py
90 lines (65 loc) · 2.7 KB
/
SheetsApp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
from __future__ import print_function
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google.oauth2 import service_account
from googleapiclient.http import MediaIoBaseDownload, MediaFileUpload
class SheetsApp:
def __init__(self,creds):
self.SheetService = self.get_sheet_service(creds)
def get_sheet_service(creds):
service = build('sheets', 'v4', credentials=creds)
return service.spreadsheets()
class DriveApp:
def __init__(self,creds):
self.SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']
self.DriveService = self.get_drive_service(creds)
def get_drive_service(self,creds):
"""Shows basic usage of the Drive v3 API.
Prints the names and ids of the first 10 files the user has access to.
"""
SCOPES = []
#creds = None
# 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.
service = build('drive', 'v3', credentials=creds)
# Call the Drive v3 API
results = service.files().list(
pageSize=10, 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']))
return service
def create_folder(self,title):
file_metadata = {
'name': '{}'.format(title),
'mimeType': 'application/vnd.google-apps.folder'
}
file = self.DriveService.files().create(body=file_metadata,
fields='id').execute()
print('Folder ID: %s' % file.get('id'))
#def share_folder(drive_service, )
def add_spreadsheet_to_folder(self,folder_id,title):
#folder_id = '0BwwA4oUTeiV1TGRPeTVjaWRDY1E'
#file_metadata = {
# 'name': 'photo.jpg',
# 'parents': [folder_id]
#}
file_metadata = {
'name': '{}'.format(title),
'parents': [folder_id],
'mimeType': 'application/vnd.google-apps.spreadsheet',
}
#media = MediaFileUpload('photo.jpeg',
# mimetype='image/jpeg',
# resumable=True)
res = self.DriveService.files().create(body=file_metadata).execute()
print(res)
return res