C# GoogleSheetsAPI,用C语言为用户获取电子表格#

C# GoogleSheetsAPI,用C语言为用户获取电子表格#,c#,.net,xamarin,google-sheets,xamarin.forms,C#,.net,Xamarin,Google Sheets,Xamarin.forms,我正在开发Xamarin.Forms应用程序,我正在尝试做的是: 使用Auth0 2.0对Google中的用户进行身份验证 之后,我收到令牌响应 获取用户帐户内的所有电子表格 目前,我知道谷歌用最新版本更新了很多API,我再也不能使用电子表格服务了。我在官方文档中看到的是,他们使用的是SheetsService,至少他们是这样做的 这是我现在的代码: var service = new SheetsService(new BaseClientService.Initializer {

我正在开发Xamarin.Forms应用程序,我正在尝试做的是:

  • 使用Auth0 2.0对Google中的用户进行身份验证
  • 之后,我收到令牌响应
  • 获取用户帐户内的所有电子表格
目前,我知道谷歌用最新版本更新了很多API,我再也不能使用
电子表格服务了。我在官方文档中看到的是,他们使用的是
SheetsService
,至少他们是这样做的

这是我现在的代码:

var service = new SheetsService(new BaseClientService.Initializer
{
    HttpClientInitializer = this.userCredential,
    ApplicationName = Statics.StaticStrings.AppDomain.ApplicationName
});

var spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
var range = "Class Data!A2:E";
SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);
到目前为止,它是有效的,但我的问题是,如果我有它的ID,我可以得到电子表格,但我不确定从哪里可以得到它,当然我不想硬编码它(没有意义)

this.userCredential
是类型
Google.api.Auth.OAuth2.userCredential
中的字段,在这里我传递
(IAAuthorizationCodeFlow,string userId,TokenResponse token)
,因此在传递token之后,我希望我的用户已经登录

我在这里的问题是,我如何获得所有经过身份验证的用户授权的电子表格,以便在之后使用它们


提前谢谢

工作表API v4不提供此特定操作。

你可以使用谷歌驱动API的

公共IList GetAllFiles()
{
//定义请求的参数。
fileResource.ListRequest ListRequest=service.Files.List();
listRequest.PageSize=10;
listRequest.Q=“mimeType='application/vnd.google apps.spreadsheet';
//列出文件。
返回listRequest.Execute().Files;
}

非常有效,谢谢。但现在看来我还有其他问题。如果您在“GoogleWebAuthorizationBroker.AuthorizationAsync”上打开此屏幕截图,则“我收到异常”无法启动带有\“…”的浏览器。我了解到这可能来自client_secret.json。但我只是从这里下载”“并将其添加到project中。您针对的是哪个平台?您看到的源代码在Android project中。目标版本“使用SDK版本编译”和目标框架“安卓7.0”屏幕截图由于安卓平台的原因,导致浏览器无法正常运行。尝试使用我在github.com/xamarin/google-API中看到的Android API的替代方法这只适用于Android,在我的例子中,我有xamarin.Forms,所以我在IOS或PCL中也需要它。与您发送的android quickstart的情况类似。在这种情况下,我在IOS上也需要它,事实上,我不是在emulator中运行应用程序,而是在我的真实设备(三星Galaxy S6 Edge)上运行应用程序,这是我的最佳答案
public IList<Google.Apis.Drive.v3.Data.File> GetAllFiles()
{
    // Define parameters of request.
    FilesResource.ListRequest listRequest = service.Files.List();
    listRequest.PageSize = 10;
    listRequest.Q = "mimeType='application/vnd.google-apps.spreadsheet'";

    // List files.
    return  listRequest.Execute().Files;
}