0

我正在为一家足球俱乐部制作网站。他们有一个谷歌日历(只有一个谷歌帐户)。在网站上,我想列出即将发生的事件。所以我必须通过谷歌 API 访问谷歌日历。对于授权,我必须使用 OAuth2。是否可以使用 OAuth2 自动登录,以便网站访问者不必总是通过重定向登录(到谷歌登录站点)?例如,我通过 Java 登录,而不是用户登录?因为如果网站的每个用户都必须登录,仅仅为了查看俱乐部日历,那就不太舒服了。

4

2 回答 2

0

Not sure it is possible,

Important note concerning your design: if you login automatically to the club's account, it means that everyone that uses this website is logged in to Google Calendar on behalf of the club's user name. hence, everyone can CHANGE the calendar, delete events, etc.

Are you sure you want this to happen?

(you can set the login params to "read-only", but even then, it means that the club shows ALL his calendar to everyone. there is no privacy...)

I suggest that every user logins with his own creds, and the club's calendar can invite all registered users to his events....

于 2013-12-11T08:55:17.133 回答
0

当然,您可以这样做,如果您在服务器端执行此操作,即使不授予访问者访问权限。

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

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

access_type: "offline"
approval_prompt: "force"

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

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

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

于 2014-03-26T13:04:42.523 回答