2

我目前正在开发一个 C# MVC 网站,该网站将使用 Google 的日历 API,但我在整理 OAuth 2.0 时遇到了麻烦。

我正在关注这个 stackoverflow问题,它引用OAuth2LeggedAuthenticator了最新的 NuGet 包中没有出现的类

Install-Package Google.Apis.Calendar.v3 -Pre

Install-Package Google.Apis.Authentication -Pre

这是因为 Google 已经转移到 OAuth 2 身份验证模式,那么有没有办法使用最新版本的 .net API 进行 2 腿身份验证?

干杯

4

2 回答 2

1

设法弄明白,获得访问“服务帐户”(即您自己的帐户)的过程有些不同。

当您在 Google 控制台中创建新的 Oauth2 客户端 ID 时,它会生成带有私钥的证书,允许您的应用程序访问您自己的帐户。

因此,您使用AssertionFlowClient类而不是 aNativeApplicationClient作为 API 访问提供者并将证书作为参数传递。

var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate) 

更多信息和示例可以在Google Code .net wiki上找到

谷歌真的应该在那里更新谷歌开发者指南,因为它已经过时了,而且对于获取新的 .net V3 API 的信息有点困难......

于 2013-09-12T05:00:35.777 回答
0

DotNetOpenAuth可能会帮助您获得身份验证。在获得access_token(DotNetOA 将帮助您获得)之后,您将能够调用他们的 API。

于 2013-09-12T03:15:08.323 回答