简体   繁体   English

如何使用google drive api获取google drive中所有文件的名称?

[英]How to fetch name of all files in google drive using google drive api?

I am trying to fetch name of all the files in my google drive but the problem is that I can fetch only specific amount of file how can I remove this limitation and fetch all files here's the code provided by google on their site我正在尝试获取 google 驱动器中所有文件的名称,但问题是我只能获取特定数量的文件,如何删除此限制并获取所有文件,这是 google 在其网站上提供的代码

I am using google drive api v3我正在使用谷歌驱动器 API v3

from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']

def main():
    """Shows basic usage of the Drive v3 API.
    Prints the names and ids of the first 10 files the user has access to.
    """
    creds = None
    # The file token.pickle stores the user's access and refresh tokens, and is
    # created automatically when the authorization flow completes for the first
    # time.
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    # If there are no (valid) credentials available, let the user log in.
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    service = build('drive', 'v3', credentials=creds)

    # Call the Drive v3 API
    results = service.files().list(
        pageSize=10, fields="nextPageToken, files(id, name)").execute()
    items = results.get('files', [])

    if not items:
        print('No files found.')
    else:
        print('Files:')
        for item in items:
            print(u'{0} ({1})'.format(item['name'], item['id']))

if __name__ == '__main__':
    main()

In this code there is a variable pageSize whose value is 10 and if I increase its value so I can fetch more files but I want to fetch all files so how can I do that.在这段代码中有一个变量 pageSize ,它的值是 10,如果我增加它的值,这样我就可以获取更多文件,但我想获取所有文件,所以我该怎么做。

Files.list has an optional paramter called pagesize Files.list有一个名为 pagesize 的可选参数

pageSize integer The maximum number of files to return per page. pageSize integer 每页返回的最大文件数。 Partial or empty result pages are possible even before the end of the files list has been reached.即使在到达文件列表末尾之前,部分或空的结果页面也是可能的。 Acceptable values are 1 to 1000, inclusive.可接受的值为 1 到 1000,包括 1 到 1000。 (Default: 100) (默认值:100)

You have set yours to pageSize=10 you should set it up to 1000 and then use the nextPageToken to select the next set of rows if there are more.您已将您的 pageSize=10 设置为 1000,然后使用 nextPageToken 选择下一组行(如果有更多行)。

I am not a python developer the following code is a guess.我不是 python 开发人员,以下代码是猜测。

page_token = saved_start_page_token;
while page_token is not None:
    response = service.changes().list(pageToken=page_token,
    pageSize=1000, fields="nextPageToken, files(id, name)").execute()
    page_token = response.get('nextPageToken')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Google Drive API:如何从Google Drive下载文件? - Google Drive API:How to download files from google drive? 谷歌驱动器 API:如何找到我与他人共享的所有文件 - Google drive API : How to find all files I shared with others 使用python将文件上传到google drive api - uploading files to google drive api using python Drive API请求中未列出任何Google云端硬盘文件 - No Google Drive files are listed in Drive API request 如何使用 Google Drive API 和 Python 覆盖 CSV 文件? - How to overwrite CSV Files using Google Drive API with Python? 如何使用 Python 通过 api 将文件上传到谷歌驱动器? - How to upload files into google drive via api using Python? 如何使用 python 请求使用谷歌驱动器 API 上传和删除文件 - How to upload and delete files with google drive API using python requests 如何使用 For Loop 通过 API 从 Google Drive 下载文件 - How to download files from Google Drive using For Loop through API 如何使用 Google Drive API 一次删除多个文件 - How to delete multiple files at once using Google Drive API 使用 Google Drive API 获取所有文件的列表时如何解决“超出未经身份验证使用的每日限制” - How to solve “Daily Limit for Unauthenticated Use Exceeded" when getting list of all files using Google Drive API
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM