3

我正在编写一个小客户端来将机器上的 Outlook 日历与用户的谷歌日历同步。我正在使用 .Net (C#)。我刚刚阅读了有关使用 .NET 的 Google API 客户端库访问 Google 日历 API 的信息,并尝试了一些基本的东西。

现在关于授权,据我了解,新的“OAuth 2.0”授权需要“用户同意”,这意味着用户被定向到谷歌页面,他们必须明确允许我的应用程序访问他们的日历。好像这种用户交互还不够,作为一名程序员,我必须处理“访问令牌”或“刷新令牌”以及所有这些东西。

现在我的问题是:真的没有更简单的方法可以让已安装的应用程序与 google API 通信以访问用户的日历吗?

我希望我的用户在“设置”对话框中输入他的用户名/密码。他的凭据将存储在本地(当然是加密的),然后在以后通过谷歌 API 进行每次访问时使用。我知道这可能是危险的,但我希望这个决定与我同在。

那么,这可能吗?

4

1 回答 1

2

不,那是不可能的。OAuth的重点是用户永远不会向第三方(您)提供他们的用户名和密码。您获得的唯一东西是一个允许您连接的令牌,用户可以随时撤销该令牌。(此外,如果用户更改了他的密码,您仍然可以使用相同的保存令牌,而无需让用户更新他们的设置)。

如果您决定通过保存用户名和密码并自己执行“授权”来“解决”此问题,您将违反 API 的 TOS,并且您的应用程序将被 Google(或任何 OAuth 提供商,如果您尝试它)禁止与其他人)不遵守规则。

于 2012-08-13T13:39:21.987 回答