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

问题描述 投票:0回答:1

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

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

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

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

那么,这可能吗?

c# .net google-calendar-api
1个回答
2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.