Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# google drive未列出超过100条文件记录_C#_Asp.net Mvc_Google Api_Google Drive Api_Google Api Dotnet Client - Fatal编程技术网

C# google drive未列出超过100条文件记录

C# google drive未列出超过100条文件记录,c#,asp.net-mvc,google-api,google-drive-api,google-api-dotnet-client,C#,Asp.net Mvc,Google Api,Google Drive Api,Google Api Dotnet Client,我试图从我的谷歌硬盘中获取所有文件和文件夹,但它总是返回100个项目。我也无法理解nextPageToken和PageSize设置为1000,但记录返回为100。我做错了什么,但我不知道。如果有人回答,请举例说明下一个问题 public static List<GoogleDriveFiles> GetDriveFiles(string nextPageToken) { Google.Apis.Drive.v3.DriveService ser

我试图从我的谷歌硬盘中获取所有文件和文件夹,但它总是返回100个项目。我也无法理解nextPageToken和PageSize设置为1000,但记录返回为100。我做错了什么,但我不知道。如果有人回答,请举例说明下一个问题

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;
        }
公共静态列表GetDriveFiles(字符串nextPageToken)
{
Google.api.Drive.v3.DriveService=GetService_v3();//获取服务
//定义请求的参数。
Google.api.Drive.v3.filesrource.ListRequest FileListRequest=service.Files.List();
FileListRequest.Fields=“nextPageToken,files(*)”;
FileListRequest.PageSize=1000;
//FileListRequest.Q=“mimeType='application/vnd.google apps.folder';
//列出文件。
IList files=FileListRequest.Execute().files;
List FileList=新列表();
//files=files.Where(x=>x.MimeType==“application/vnd.google apps.folder”).ToList();
if(files!=null&&files.Count>0)
{
foreach(文件中的var文件)
{
GoogleDriveFiles文件=新的GoogleDriveFiles
{
Id=file.Id,
Name=file.Name,
Size=file.Size,
Version=file.Version,
CreatedTime=file.CreatedTime,
Description=file.Description,
Parents=file.Parents,
WebContentLink=file.WebContentLink,
webLink=file.WebContentLink,
MimiTypes=file.MimeType
};
FileList.Add(文件);
}
}
返回文件列表;
}

注释的代码我也尝试获取文件夹,但仍然没有用

尝试使用trythisapi!当然,您可以检查您提出的请求是否正确

我已经能够得到1000个文件返回

nextPageToken
是您必须保存的令牌,然后使用此令牌作为字段执行另一个请求
pageToken
,请参阅上的所有请求字段


在下一个请求中使用此
nextPageToken
将获得第一个请求无法获得的额外文件。

我没有使用此API,但许多API都有一个“延续令牌”或“下一令牌”,您必须再次传递到请求中才能获得下一组。这里有类似的东西吗?