BaseClientService不包含Files

时间:2016-05-20 12:59:26

标签: c# asp.net-web-api google-api google-drive-api google-api-dotnet-client

使用Google Nuget软件包(Google.Apis.Drive.v3)中的DriveService时遇到问题。

我收到此错误:

  

严重级代码描述项目文件行抑制状态   错误CS1061' BaseClientService'不包含'文件'的定义没有扩展方法'文件'接受类型' BaseClientService'的第一个参数。可以找到(你是否缺少using指令或程序集引用?)Sampleproject.Web C:\ sample \ Sampleproject.Web \ Controllers \ DriveController.cs 117 Active

enter image description here

我正在使用官方文档中的部分指南:https://developers.google.com/drive/v3/web/quickstart/dotnet#step_1_turn_on_the_api_name

最初我认为这只是一个"使用"我失踪了,但我似乎无法弄清楚/谷歌的方式。

修改

我的服务如下: enter image description here

我的usercredentials看起来像这样: enter image description here

1 个答案:

答案 0 :(得分:1)

我不确定您是如何创建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);
     }