如何在.net Google Drive API中执行查询

本文关键字:API 执行 查询 Drive Google net | 更新日期: 2023-09-27 18:13:39

我正在使用c# API V2 for Google Drive,我似乎找不到FilesResource.ListRequest.Fetch()方法…我看到文件资源。ListRequest接口与google drive文档中描述的略有不同,所以我猜已经对它做了一些更改,但没有反映在web文档中。有人知道我现在应该怎么执行查询吗?

这就是我要运行的:

public void SomeMethod(Settings settings)
{
    var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description, settings.ApiKey, settings.ApiSecret);
    var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, AuthProvider);
    _driveService = new Google.Apis.Drive.v2.DriveService(new BaseClientService.Initializer {Authenticator = auth});
    var request = _driveService.Files.List();
    request.Q = "mimeType='application/vnd.google-apps.folder' and trashed=false";
    request.Fetch() // <-- This method does not exist! :/
}

提前感谢!

如何在.net Google Drive API中执行查询

我刚刚用最新版本的库尝试了你的代码,它正确构建。您使用的是最新版本的库吗?

FilesResource.ListRequest扩展Google.Apis.Requests.ClientServiceRequest<Google.Apis.Drive.v2.Data.FileList>,定义Fetch():

https://code.google.com/p/google-api-dotnet-client/source/browse/Src/GoogleApis/Apis/Requests/ClientServiceRequest.cs 197

使用Execute()方法代替Fetch()

request.Execute()

当前的方法似乎是ExecuteAsync

var request = _driveService.Files.List();
request.Q = "mimeType='application/vnd.google-apps.folder' and trashed=false";
var result = await request.ExecuteAsync()

我不确定这是否只适用于Windows Store和Windows Phone 8.1应用程序,或者如果Execute方法已经无处不在。