python - 查看 Google 电子表格 ID 而不将其共享到邮件地址
问题描述
我对使用 Google 电子表格 API 感到困惑。事情是这样的:一个网站每天在我的 Google Drive 中创建一个电子表格。所以我想自动获取创建的电子表格。为了实现这一点,我遵循了以下步骤:
在谷歌控制台中:
- 启用驱动器
- 创建了一个凭据。
然后在下面编写了以下代码。
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]
好的,它正在工作,但这里有一个问题。除非我使用我的凭据电子邮件地址,否则我看不到电子表格 ID share
...所以每天我都需要进入新创建的电子表格并分享我的credentials
电子邮件,但这不是很自动?有没有更好的办法?例如,如何在代码中共享client_adress,而不是在网站上手动共享,并查看电子表格?
谢谢你。
解决方案
推荐阅读
- c# - C# OpenFileDialog 为什么文件名是这样添加空格的?
- elm - 仅查询 Dict 中的前 3 个
- python - 类型对象'用户'没有属性'对象'(AbstractUser)python
- sqlbulkcopy - 更改 ConnectionString 中的 EnableBulkLoad 时 Sybase-AseBulkCopy 失败
- c# - 请求被中止 无法创建 ssl/tls 安全通道
- python - Odd sytax error in python: Invalid Syntax
- r - NA values and extra rows when spreading repeated measures of multiple variables into wide format?
- python - 这个表达式是做什么的?默认=lambda self: _('New'))
- java - 无法使用 mysqlworkbench 从休眠以管理员身份连接到 mysql
- ruby-on-rails - 如何更新 MailChimp 列表中的订阅者电子邮件(在 Ruby on Rails 中使用 Gibbon API)