【发布时间】:2017-06-12 19:08:05
【问题描述】:
我正在尝试制作一个应用程序来列出所有保存在我的 Google 驱动器上或与我的 Google 帐户共享的电子表格文件。
我正在使用 C# API V3,我的方法部分有效。问题是它没有显示所有文件,它只显示了一些(准确地说是 42 个。但是当我通过网络浏览器查看我的驱动器时,我可以看到数百个由我创建的电子表格或与我分享)。
这是我初始化服务的方式:
string[] scopes = { DriveService.Scope.DriveAppdata, SheetsService.Scope.Spreadsheets };
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync
(
new ClientSecrets
{
ClientId = "12345",
ClientSecret = "54321"
},
scopes,
"USER_NAME",
CancellationToken.None
).Result;
var baseClientServiceInitializer = new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = LIB_NAME + " v" + LIB_VERSION,
};
this.driveService = new DriveService(baseClientServiceInitializer);
这是列表请求:
List<File> allFilesOnDrive = new List<File>();
var listRequest = this.driveService.Files.List();
listRequest.PageSize = 25;
listRequest.Fields = "nextPageToken, files(name, id)";
do
{
FileList fileBulk = listRequest.Execute();
allFilesOnDrive.AddRange(fileBulk.Files);
listRequest.PageToken = fileBulk.NextPageToken;
} while (listRequest.PageToken != null);
运行后,allFilesOnDrive 列表中只有 42 个文件。我看不出这 42 个文件有什么特别之处,据我所知,它们与其他文件相同。 我错过了什么?
【问题讨论】:
标签: c# google-api google-drive-api google-api-dotnet-client