如果我想使用
gspread
创建/读取/更新电子表格,我知道首先必须像这样进行身份验证:
import gspread
gc = gspread.service_account()
我还可以指定文件名以指向服务帐户 json 密钥,但是有没有办法告诉
gspread
使用默认服务帐户凭据而不指向 json?
我的用例是,我想在已经带有 IAM 角色的虚拟机(或云函数)中运行
gspread
,但我似乎不知道从哪里获取 json 文件。我也不想将 json 不必要地复制到虚拟机。
您可以使用 google.auth 获取默认服务帐户的凭据。 然后您可以使用 gspread.authorize() 和这些凭据:
import google.auth
import gspread
credentials, project_id = google.auth.default(
scopes=[
'https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive'
]
)
gc = gspread.authorize(credentials)