【发布时间】:2014-12-22 12:58:25
【问题描述】:
我正在尝试使用 ASP.NET MVC 5 制作一个 Web 应用程序,我可以使用它对具有 Google 帐户的用户进行身份验证,然后从他/她存储在 Google Drive/Google 表格中的电子表格中读取数据。
我正在使用 Google API 对用户进行身份验证。用户成功通过身份验证后,我从 Google 获取了 Google.Apis.Auth.OAuth2.Web AuthResult.UserCredential 类型的对象中的凭据
然后我可以使用类似于
的代码成功创建一个服务来列出云端硬盘中的文件var driveService = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = result.Credential,
ApplicationName = "ASP.NET MVC Sample"
});
现在,我想使用 GData API 从云端硬盘中的电子表格中读取内容。为此,我需要有一个SpreadsheetsService 对象,然后将其RequestFactory 参数设置为GOAuth2RequestFactory 的实例,而这又需要在OAuth2Parameters 类的实例中指定OAuth2 参数。
如何在 GData API 中重复使用使用 Google Api 获得的凭据?
【问题讨论】:
-
为什么不直接创建一个 SpreadsheetsService 呢?只要创建凭据时使用的范围允许 drive 和 SpreadsheetsService ,就没有理由不能同时创建两者。
-
我创建了一个
SpreadsheetsService。我不想再次开始身份验证周期。我正在寻找一种在 GData 中使用来自 API 的凭据的方法 -
不要以为我理解创建新服务不会再次启动身份验证的问题,你已经有了结果。凭据只是在两者中都使用它。
-
@DaImTo 我们从 Google API 获得的凭据不适用于 GData(因为 GData 是旧 API)。请看图片。我从 Visual Studio pbrd.co/10uYsD7
-
您是如何创建这些凭据的?他们是旧的开放身份凭证还是什么?可以出示验证码吗?
标签: google-api google-oauth google-spreadsheet-api google-api-dotnet-client google-authentication