问题描述
我正在尝试从“我的Google云端硬盘”中获取所有文件和文件夹,但它始终返回100个项目。我也无法理解将nextPagetoken和PageSize设置为1000,但记录返回值为100。我做错了事,但不知道。如果有人回答,请用示例解释nextpagetoken。
public static List<GoogleDriveFiles> GetDriveFiles(string nextPagetoken)
{
Google.Apis.Drive.v3.DriveService service = GetService_v3(); // Getting Services
// Define parameters of request.
Google.Apis.Drive.v3.FilesResource.ListRequest FileListRequest = service.Files.List();
FileListRequest.Fields = "nextPagetoken,files(*)";
FileListRequest.PageSize = 1000;
// FileListRequest.Q = "mimeType='application/vnd.google-apps.folder'";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = FileListRequest.Execute().Files;
List<GoogleDriveFiles> FileList = new List<GoogleDriveFiles>();
//files = files.Where(x => x.MimeType == "application/vnd.google-apps.folder").ToList();
if (files != null && files.Count > 0)
{
foreach (var file in files)
{
GoogleDriveFiles File = new GoogleDriveFiles
{
Id = file.Id,Name = file.Name,Size = file.Size,Version = file.Version,CreatedTime = file.CreatedTime,discription = file.Description,Parents = file.Parents,WebContentLink = file.WebContentLink,webLink = file.WebContentLink,MimiTypes = file.MimeType
};
FileList.Add(File);
}
}
return FileList;
}
解决方法
尝试使用Try this API!的files: list中,您可以检查所发出的请求是否正确。
我已经可以返回1000个文件。
nextPageToken
是您必须保存的令牌,然后使用此令牌作为字段pageToken
进行另一个请求,请参阅Files: list parameters上的所有请求字段
在下一个请求中使用此nextPageToken
将为您提供第一个请求无法获得的额外文件。