未获取 Google 驱动器 API 的共享文件夹中的项目列表
Not getting list of items in shared folders with Google Drive API
我试图在 Python 中获取 Google 驱动器 API 的文件夹列表。我可以在我的驱动器文件夹中获取列表,但无法获取共享文件夹的项目列表。我使用 GCP 服务帐户作为凭据,并且我已经将服务帐户设置到共享文件夹中。谁有解决办法??我应该使用另一个参数吗?非常感谢。
drive = build('drive', 'v3', credentials=credentials)
folderId = "xxxxxxxxxxx"
query = f"parents = '{folderId}'"
response = drive.files().list(q=query,includeItemsFromAllDrives=True,supportsAllDrives=True).execute()
files = response.get('files')
nextPageToken = response.get('nextPageToken')
while nextPageToken:
response = drive.files().list(q=query,includeItemsFromAllDrives=True,supportsAllDrives=True).execute()
files.extend(response.get('files'))
nextPageToken = response.get('nextPageToken')
df = pd.DataFrame(files)
你的问题是你打电话的方式parents
query = f"parents = '{folderId}'"
Parents = 应该是 parents 在
query = f"parents in '{folderId}'"
背景信息,以防您的文件夹文件 ID 错误。
在使用 Q 参数时从简单开始。你能通过搜索 mimetype 找到文件夹吗?
page_token = None
while True:
response = drive_service.files().list(q="mimeType='application/vnd.google-apps.folder'",
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
break
Parents 在
假设您在上一次调用中取回文件夹,您需要获取该调用的文件 ID 并将其发送到本次调用。
page_token = None
while True:
response = drive_service.files().list(q="parents in 'FILEIDFROMPREVIOUSCALL'",
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
break
我试图在 Python 中获取 Google 驱动器 API 的文件夹列表。我可以在我的驱动器文件夹中获取列表,但无法获取共享文件夹的项目列表。我使用 GCP 服务帐户作为凭据,并且我已经将服务帐户设置到共享文件夹中。谁有解决办法??我应该使用另一个参数吗?非常感谢。
drive = build('drive', 'v3', credentials=credentials)
folderId = "xxxxxxxxxxx"
query = f"parents = '{folderId}'"
response = drive.files().list(q=query,includeItemsFromAllDrives=True,supportsAllDrives=True).execute()
files = response.get('files')
nextPageToken = response.get('nextPageToken')
while nextPageToken:
response = drive.files().list(q=query,includeItemsFromAllDrives=True,supportsAllDrives=True).execute()
files.extend(response.get('files'))
nextPageToken = response.get('nextPageToken')
df = pd.DataFrame(files)
你的问题是你打电话的方式parents
query = f"parents = '{folderId}'"
Parents = 应该是 parents 在
query = f"parents in '{folderId}'"
背景信息,以防您的文件夹文件 ID 错误。
在使用 Q 参数时从简单开始。你能通过搜索 mimetype 找到文件夹吗?
page_token = None
while True:
response = drive_service.files().list(q="mimeType='application/vnd.google-apps.folder'",
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
break
Parents 在
假设您在上一次调用中取回文件夹,您需要获取该调用的文件 ID 并将其发送到本次调用。
page_token = None
while True:
response = drive_service.files().list(q="parents in 'FILEIDFROMPREVIOUSCALL'",
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
break