我在使用来自Google Nuget包(Google.Apis.Drive.v3)的DriveService时遇到问题。
我收到此错误:
严重性代码说明项目文件行抑制状态
错误CS1061'BaseClientService'不包含'Files'的定义,并且找不到扩展方法'Files'接受类型为'BaseClientService'的第一个参数(您是否缺少using指令或程序集引用?)Sampleproject.Web C :\ sample \ Sampleproject.Web \ Controllers \ DriveController.cs 117有效
我正在使用官方文档中的部分指南:https://developers.google.com/drive/v3/web/quickstart/dotnet#step_1_turn_on_the_api_name
最初,我认为这只是我所缺少的“用法”,但我似乎无法弄清楚/用谷歌的方式找到它。
编辑:
我的服务如下所示:
我的用户凭证如下所示:
最佳答案
我不确定您是如何创建service
的,但是您可以尝试:
我猜你正在做这样的事情。
// Create Drive API service.
var service = new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive Authentication Sample",
};
在这种情况下,您应该这样声明服务。
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive Authentication Sample",
});
更新:
问题的部分原因可能是您正在混合使用V2和V3。
using Google.Apis.Drive.v3;
清单:
var pageStreamer = new PageStreamer<Google.Apis.Drive.v3.Data.File, FilesResource.ListRequest, Google.Apis.Drive.v3.Data.FileList, string>(
(request, token) => request.PageToken = token,
response => response.NextPageToken,
response => response.Files);
var req = service.Files.List();
req.PageSize = 1000;
foreach (var result in pageStreamer.Fetch(req))
{
Console.WriteLine(result.Id);
}