0

我正在考虑在我的网站中嵌入谷歌日历以实现以下目标,并且想知道这在谷歌日历中是否可行。否则我必须去寻找另一个解决方案。

我有一组用户和一个超级用户,其余的是普通用户,如下所示:

  • A组
    • 超级用户 1
    • 普通用户 1
    • 普通用户 2
    • ETC
  • B组
    • 超级用户 2
    • 普通用户 3
    • 普通用户 4
    • ETC

每个组都有自己的日历。每个组中的用户都看不到其他组的日历。只能看到自己组的日历。

每个组的超级用户都可以访问日历(添加、修改、删除),并且能够控制普通用户在他们的组中拥有多少访问权限。(只读?读/写等)

所有用户都注册到我的网站,因此我想只使用一个谷歌日历帐户(我自己的帐户)为每个组创建一个日历。这导致了将我的网站验证为谷歌 API 的问题。我需要自动的身份验证过程,远离用户并在服务器端完成。

我的网站是使用 PHP/Mysql 构建的

Q1:
我尝试过google提供的Javascript客户端库,但是它要求用户输入用户名/密码才能登录google,以便身份验证(OAuth2)过程可以工作。如上一段所述,我只希望用户登录我的网站,他们不需要再次登录谷歌帐户。这应该在服务器端完成。

我什至创建了一个预先填充了信息的登录表单(对用户隐藏,用户名/密码将在“查看页面源”中可见)并将请求发送到https://accounts.google.com/ServiceLoginAuth,并在用户成功登录我的网站后自动提交表单。但是,这会导致跨域问题。

Q2:我可能在我的网站上注册了成千上万个组。每个组可能有几百个用户。一个谷歌账户可以创建那么多日历吗?

Q3:一旦日历嵌入到我的网站,它似乎是只读的。是否可以使其具有交互性,以便每个组中的超级用户可以添加/删除/修改事件?

非常感谢任何想法/建议。

谢谢

4

2 回答 2

0

没有答案?看起来你的问题很简单。如果我理解正确,您想从多个 Google 帐户/用户访问日历。每个用户都需要授权此访问,但他们只需要这样做一次。例如,您可以生成这些请求并通过电子邮件将它们发送出去。当用户授予权限时,Google 会将授予代码转发到您指定的 callback_uri。授权代码非常不稳定。它用于向 Google 请求一个显然可以无限期使用的令牌。所以没有要求用户不断登录谷歌。

在 Google 的 calendar/simple.php 示例中。令牌存储为 SESSION 变量。即使令牌是持久的,SESSION 变量也不是。每次 SESSION 变量到期时,用户都必须授予授权。将持久数据存储在 volatile 变量中是荒谬的,并且可能会给 OAuth2 令牌机制带来错误的印象。

我花了很多时间编写在其他任何地方都找不到的文档。如果您认为它可能有帮助,请查看: http ://www.tqis.com/eloquency/googlecalendar.htm

于 2013-01-05T19:55:45.373 回答
0

Google 日历无法满足您的要求。

如果您希望支持数千个组并且每个组都需要它自己的日历,那么您就是说您需要数千个具有访问控制功能的日历,并且您需要对日历进行身份验证以使其透明。

于 2013-07-23T21:41:33.140 回答