2012-03-14 210 views
5

我一直试图让Google's Calendar API在PHP web应用程序中工作,但我很难获得身份验证。服务器的Google API身份验证

我想要做的是让用户与服务器已知的单个帐户的日历进行交互。

OAuth 2.0 docs中涉及的每种类型的场景都涉及到涉及登录表单和单个用户登录的“用户同意”,但我希望服务器本身直接进行身份验证并为其自身获取访问令牌。

有没有OAuth的某些部分或我可以使用的一些替代机制来做到这一点?

回答

3

为了做到这一点,您必须完成用户同意的步骤,然后将它给您的访问令牌复制到PHP代码中。

对OAuth的通常的程序是这样的:

  1. 发送用户认证页面。
  2. 用户回来了$ _GET [“代码”]
  3. 发送$ _GET [“代码”] OAuth的服务器令牌
  4. 商店令牌数据库用户(或会话,如果它是非常短命的)

但像这样一个日历做时,你修改步骤4相反,你转储标记筛选并将其复制到你的PHP文件作为变量,而不是把它在数据库中。然后,当您将访问令牌传递给服务器时,您只需传递已知的静态令牌,而不是数据库/会话中的动态令牌。

+0

谢谢,但不是访问令牌本身短命?我必须一直手动执行此操作。 – andy 2012-03-16 02:10:35

+0

自12月份以来,我一直在使用此确切方法处理日历,而且这个日历上的事件更新频率非常高,以至于我知道它仍在工作。我认为访问令牌确实有一生的存在,但是它的测量时间是几个月,而不是几天或几个小时。 – kingcoyote 2012-03-16 05:38:27

+0

好的,谢谢,我会给它一个去。 – andy 2012-03-18 01:50:13