Google API用户认证:如何在平台集成Google Calendar实现授权与日历操作
Google Calendar 集成配置实操指南
1. 基础配置(Google Cloud侧)
- 登录Google Cloud创建新项目,在API库中搜索「Google Calendar API」,点击启用该API
- 进入「API和服务」-「凭据」页面,选择创建「OAuth 客户端 ID」,应用类型选择「Web 应用」
- 配置已授权重定向 URI,填写你的自有平台的授权回调地址(即用户完成Google授权后跳转回你平台的地址),配置完成后会生成客户端ID和客户端密钥,这两个是核心凭证,禁止泄露到前端公开环境
2. OAuth授权流程实现(用户连接Google功能)
- 前端拼接Google OAuth授权跳转链接,核心参数包括:你的客户端ID、提前配置好的回调地址、权限范围
https://www.googleapis.com/auth/calendar(如果不需要修改用户所有日历可以选择更细粒度的权限降低风险)、响应类型设为code、访问类型设为offline(可获取长期有效的刷新令牌,避免用户反复授权) - 用户点击「连接Google」按钮跳转至官方授权页面,完成授权后会自动跳回你的回调地址,同时带回
authorization_code参数 - 后端拿到该code后,携带客户端ID、客户端密钥、回调地址、
grant_type=authorization_code参数调用Google令牌接口,即可获取有效期1小时的access_token和长期有效的refresh_token,将两个令牌和平台对应用户ID绑定存储即可
3. 核心业务功能实现
- 日程可用性校验:调用Google Calendar的
freebusy.query接口,传入要查询的时间范围、目标用户的日历ID,接口会返回对应时间段内用户已有的日程占用情况,即可判断当前预约时间是否冲突 - 自动创建日历事件:确认时间可用后,调用
events.insert接口,传入事件标题、起止时间、参与人、备注等自定义参数,即可完成事件自动创建
4. 注意事项
access_token过期后,直接用存储的refresh_token调用令牌接口换发新的access_token即可,无需用户重新授权- 如果用户在Google账号侧取消了对你应用的授权,接口会返回401/403错误,此时要清除你平台存储的对应用户令牌,引导用户重新完成授权流程
- 所有涉及客户端密钥、刷新令牌的操作必须在服务端完成,禁止将这类敏感信息传输到前端
内容的提问来源于stack exchange,提问作者Paul James
相关产品推荐
相关产品推荐

