OAuth2登录Google Calendar API

时间:2013-08-14 12:37:04

标签: api calendar google-oauth

我正在建立一个足球俱乐部的网站。他们有一个谷歌日历(只有一个谷歌帐户)。在网站上,我想列出即将举行的活动。所以我要通过Google API访问Google日历。对于授权,我将使用OAuth2。是否可以自动使用OAuth2登录,以便网站访问者始终无法通过重定向登录(到谷歌登录网站)?例如,我通过Java进行登录,而不是用户登录?因为如果网站的每个用户都必须登录,只是查看俱乐部日历就不那么舒服了。

2 个答案:

答案 0 :(得分:0)

不确定是否可行,

有关您的设计的重要说明:如果您自动登录俱乐部的帐户,则表示使用此网站的每个人都代表俱乐部的用户名登录Google日历。因此,每个人都可以更改日历,删除事件等。

你确定要发生这种情况吗?

(您可以将登录参数设置为“只读”,但即便如此,这意味着俱乐部会向所有人显示所有日历。没有隐私......)

我建议每个用户使用自己的信用卡登录,俱乐部的日历可以邀请所有注册用户参加他的活动....

答案 1 :(得分:0)

当然,如果您在服务器端执行此操作,即使您无法访问访问者,也可以这样做。

您需要手动执行初步操作。 完成此步骤后,您将获得刷新令牌,使用此令牌可以重新生成您需要访问日历API的访问令牌,例如以获取即将发生的事件。 如果之前的访问令牌已过期,您需要重新生成访问令牌。在这种情况下,您还会获得一个新的刷新令牌。您需要将其保存到数据库或JSON文件中。

要获取刷新令牌,您需要在授权时传递此选项:

access_type: "offline"
approval_prompt: "force"

如果没有这些选项,您只能获得一个访问令牌,没有刷新令牌。

以下是文档:https://developers.google.com/accounts/docs/OAuth2WebServer#formingtheurl

这里有一种教程:http://www.tqis.com/eloquency/googlecalendar.htm