我正在尝试检索驱动器中每个电子表格的所有查看者。 为此,我正在使用python和google的api客户端。我已经设法从文件对象中检索工作表的名称,所有者和其他信息,但是我找不到找到其查看者的方法。
到目前为止的代码:
page_token=None
while True:
a = service.files().list(
q="mimeType='application/vnd.google-apps.spreadsheet'",
corpora='allDrives',
includeItemsFromAllDrives=True,
supportsAllDrives=True,
fields='nextPageToken, files(id, name, parents, owners, lastModifyingUser, modifiedTime)',
pageToken=page_token
).execute()
for file in a.get('files', []):
print('Found file: %s (%s) %s' % (file.get('name'), file.get('id')))
page_token = a.get('nextPageToken', None)
if page_token is None:
break
答案 0 :(得分:0)
如果我的理解是正确的,那么该修改如何?
permissions
添加到fields
。print('Found file: %s (%s) %s' % (file.get('name'), file.get('id')))
发生了错误。修改脚本后,它如下所示。请认为这只是几种修改之一。
page_token = None
while True:
a = service.files().list(
q="mimeType='application/vnd.google-apps.spreadsheet'",
corpora='allDrives',
includeItemsFromAllDrives=True,
supportsAllDrives=True,
fields='nextPageToken, files(id, name, parents, owners, lastModifyingUser, modifiedTime, permissions)', # Modified
pageToken=page_token
).execute()
for file in a.get('files', []):
print('Found file: %s (%s)' % (file.get('name'), file.get('id'))) # Modified
# I added below script for showing the viewers.
for permission in file.get('permissions', []):
if permission['role'] == 'reader':
print("Viewer of %s: type is %s. email is %s." % (file.get('name'), permission.get('type'), permission.get('emailAddress')))
page_token = a.get('nextPageToken', None)
if page_token is None:
break
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。