Google calendar api 谷歌日历API。当用户不在';你没有登录吗?

Google calendar api 谷歌日历API。当用户不在';你没有登录吗?,google-calendar-api,google-api-client,Google Calendar Api,Google Api Client,这似乎是一个完全愚蠢的问题,但我正在考虑编写一个利用谷歌日历API的web应用程序/服务,我需要看看当用户没有登录谷歌帐户时,我是否有能力写入用户日历。我找不到任何清晰的文档来说明我是否可以这样做。我描绘了授权过程,用户在注册我的网站时同意了这一过程,然后我的应用程序可以在谷歌日历中添加内容。有人知道这是否可能吗?如果是这样的话,有人能给我一个链接来说明它是如何工作的吗 提前感谢您认为“登录”是错误的 由于web连接不会在请求之间持久存在,因此任何网站或web服务都会检查头,例如授权头和/或Co

这似乎是一个完全愚蠢的问题,但我正在考虑编写一个利用谷歌日历API的web应用程序/服务,我需要看看当用户没有登录谷歌帐户时,我是否有能力写入用户日历。我找不到任何清晰的文档来说明我是否可以这样做。我描绘了授权过程,用户在注册我的网站时同意了这一过程,然后我的应用程序可以在谷歌日历中添加内容。有人知道这是否可能吗?如果是这样的话,有人能给我一个链接来说明它是如何工作的吗

提前感谢

您认为“登录”是错误的

由于web连接不会在请求之间持久存在,因此任何网站或web服务都会检查头,例如
授权
头和/或
Cookie
头(取决于使用的授权方法),检查每个请求并将请求与用户匹配

因此,登录*意味着web客户端(浏览器或其他)被设置为在发出请求时使用与特定用户相关的详细信息

使用API时,您发送的授权信息正在执行相同的作业。因此,当用户使用您的API时,无论是否通过网页或其他应用程序登录,他们都是通过您的API登录的

例如:

我的网络浏览器目前已登录到谷歌的一个用于工作的帐户

我的邮件客户端已登录到谷歌日历中,我使用该帐户处理私人事务

当我查看谷歌日历时,我发现我没有任何日历(我的工作账户上没有使用它)

当我看雷鸟的时候,我看到了我的日历

如果我查看一下浏览器和邮件客户端发送的流量,我会在这两个客户端上看到如下标题:

Authorization: GoogleLogin auth=...stuff I'm not going to share or it would help you impersonate me
因此,我“登录”了Thunderbird,因为使用API的代码本身就记录了我

事实上,同一个应用程序可以访问多个帐户并“登录”所有帐户,只要它具有这样做的身份验证详细信息


*严格地说,有些人认为“登录”根本不是正确的术语,而是指连接上存在状态的不同类型的访问机制。无论这种观点如何,我们都使用登录或不登录的比喻,因为用户理解它。

您的问题的答案是肯定的。使用OAuth 2和授权代码流(web服务器流),并启用脱机。存储刷新令牌(该令牌将无限期地持续到用户撤销为止),即使用户当前未登录,您也可以将事件上载到Google日历

更多信息:

这张纸条归功于Ryan Boyd