You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Web应用集成Gmail与Google Calendar:多API授权及单令牌复用问询

当然可以实现!这是Google OAuth 2.0的标准用法

完全没问题,你不仅可以同时申请多个Google API的授权范围,还能用单个访问令牌调用所有已授权的API。下面给你拆解具体操作:

1. 同时申请多个API授权范围的方法

在发起OAuth 2.0授权请求时,只需要把多个API所需的授权范围(scope)用空格分隔,一起传入请求参数即可。

举个实际的例子,如果需要同时获取Gmail只读权限和Calendar事件读写权限,你的scope参数应该是这样的:

https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/calendar.events

用户在授权页面会看到所有请求的权限列表,确认授权后,你的应用就能获得包含这些权限的访问令牌。

2. 单个访问令牌调用多个API

只要访问令牌包含了目标API所需的scope,就可以直接用它调用对应的API接口,不需要额外获取新的令牌。

比如,用同一个令牌:

  • 调用Gmail API的users.messages.list接口获取邮件列表
  • 调用Calendar API的events.list接口获取日历事件

额外注意事项

  • 确保在Google Cloud Console中同时启用了Gmail API和Google Calendar API,否则即使授权了scope,调用API时也会报错。
  • 刷新令牌(refresh token)同样适用于所有授权的scope,用它刷新得到的新访问令牌依然会包含全部权限。

内容的提问来源于stack exchange,提问作者manosagent

火山引擎 最新活动