C# GoogleSheetsAPI,用C语言为用户获取电子表格#
我正在开发Xamarin.Forms应用程序,我正在尝试做的是: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 {
- 使用Auth0 2.0对Google中的用户进行身份验证
- 之后,我收到令牌响应
- 获取用户帐户内的所有电子表格
电子表格服务了。我在官方文档中看到的是,他们使用的是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;
}