Я запутался в использовании API электронных таблиц Google. и вот в чем дело: веб-сайт, создающий электронную таблицу на моем Google Диске каждый день. Поэтому я хочу, чтобы эта созданная электронная таблица была получена автоматически. И чтобы добиться этого, я выполнил следующие действия:
в Консоль Google:
- включил накопитель
- создал учетные данные.
затем написал следующий код ниже.
def auth(self):
scopes = ['https://www.googleapis.com/auth/spreadsheets.readonly', 'https://www.googleapis.com/auth/drive']
secretKey = "client_secrets.json"
credentials = service_account.Credentials.from_service_account_file(secretKey, scopes=scopes)
service = discovery.build("sheets", "v4", credentials=credentials)
client_address = 'mycredentialEmail@here.com'
drive = discovery.build('drive', 'v3', credentials=credentials)
services = {
"sheet_service": service,
"drive_service": drive
}
return services
def sheetId(self):
services = self.auth()
# get the spreadsheets folder
folder_id = ".......1rn00ox"
fileList = services["drive_service"].files().list(fields="files(id, createdTime)").execute()
print(fileList)
today = datetime.date.today()
spreadsheetId = [e['id'] for e in fileList.get('files', []) if dateutil.parser.parse(e.get('createdTime')).date() == today]
return spreadsheetId[0]
Хорошо, это работает, но здесь есть одна проблема . Я не вижу идентификатор электронной таблицы, если я share
не указал его адрес электронной почты для своих учетных данных ... Поэтому каждый день мне нужно go вводить новую электронную таблицу и отправлять ей credentials
электронное письмо, но оно не очень автоматическое c? Есть ли лучший способ? Например, как я могу поделиться client_adress в коде, а не на веб-сайте вручную, и посмотреть электронную таблицу?
спасибо.