我一直试图让Google's Calendar API在PHP web应用程序中工作,但我很难获得身份验证。服务器的Google API身份验证
我想要做的是让用户与服务器已知的单个帐户的日历进行交互。
OAuth 2.0 docs中涉及的每种类型的场景都涉及到涉及登录表单和单个用户登录的“用户同意”,但我希望服务器本身直接进行身份验证并为其自身获取访问令牌。
有没有OAuth的某些部分或我可以使用的一些替代机制来做到这一点?
我一直试图让Google's Calendar API在PHP web应用程序中工作,但我很难获得身份验证。服务器的Google API身份验证
我想要做的是让用户与服务器已知的单个帐户的日历进行交互。
OAuth 2.0 docs中涉及的每种类型的场景都涉及到涉及登录表单和单个用户登录的“用户同意”,但我希望服务器本身直接进行身份验证并为其自身获取访问令牌。
有没有OAuth的某些部分或我可以使用的一些替代机制来做到这一点?
为了做到这一点,您必须完成用户同意的步骤,然后将它给您的访问令牌复制到PHP代码中。
对OAuth的通常的程序是这样的:
但像这样一个日历做时,你修改步骤4相反,你转储标记筛选并将其复制到你的PHP文件作为变量,而不是把它在数据库中。然后,当您将访问令牌传递给服务器时,您只需传递已知的静态令牌,而不是数据库/会话中的动态令牌。
见mathewh的答案在这里:
How to automate login to Google API to get OAuth 2.0 token to access known user account
对我来说,灯泡是当你访问令牌,你得到一个refresh_token以及...您使用此令牌“刷新”您的访问令牌一次它到期。
第一次手动授权步骤是没有办法的。
谢谢,但不是访问令牌本身短命?我必须一直手动执行此操作。 – andy 2012-03-16 02:10:35
自12月份以来,我一直在使用此确切方法处理日历,而且这个日历上的事件更新频率非常高,以至于我知道它仍在工作。我认为访问令牌确实有一生的存在,但是它的测量时间是几个月,而不是几天或几个小时。 – kingcoyote 2012-03-16 05:38:27
好的,谢谢,我会给它一个去。 – andy 2012-03-18 01:50:13