使用用户名/密码访问Google Calendar API

时间:2012-08-13 13:35:23

标签: c# .net api

我正在编写一个小型客户端,用于将计算机上的Outlook日历与用户的Google日历同步。我正在使用.Net(C#)。 我刚刚阅读了有关使用适用于.NET的Google API客户端库访问Google Calendar API的信息,并尝试了一些基本内容。

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

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

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

那么,这可能吗?

1 个答案:

答案 0 :(得分:2)

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

如果您决定通过保存用户名和密码以及自行执行“授权”来解决此问题,那么您将违反API的服务条款,并且会禁止Google(或任何OAuth提供商)申请你试着和其他人一起试试,因为不遵守规则。