python 如何获取gspread google API共享的用户电子邮件列表?

mbzjlibv  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(125)

我用gspread创建了一些google电子表格,并与一些具有不同权限的电子邮件列表共享。有没有办法以某种方式获得这些电子邮件和权限的列表或字典?
这或多或少是我的代码:

import gspread as gs

gc = gs.service_account_from_dict(JSON_KEY)

gs = gc.create('new_spreadsheet')
ws = gs.add_worksheet(title='new_worksheet', rows='100', cols='12')
gs.del_worksheet(gs.worksheet('Sheet1'))

std_writers = ['email_1@email.com', 'email_2@email.com', 'email_3@email.com', 'email_4@email.com']
std_viewers = ['email_5@email.com', 'email_6@email.com', 'email_7@email.com', 'email_8@email.com']

for writer in std_writers:
    gs.share(email_address=writer, perm_type='user', role='writer')
        
for viewer in std_viewers:
    gs.share(email_address=viewer, perm_type='user', role='reader')

我希望使用gspread返回这些电子邮件,以仔细检查,并获得更新的用户列表,以防有人与作者的许可与别人分享。

0h4hbjxa

0h4hbjxa1#

有的。
请参阅下面的链接,您可以列出所有电子邮件,共享该电子表格使用:gspread.spreadsheet.Spreadsheet.list_permission()方法。
在你的情况下,它应该是这样的:

gs.list_permissions()

https://docs.gspread.org/en/master/api/models/spreadsheet.html#gspread.spreadsheet.Spreadsheet.list_permissions

相关问题