是否无需安装完整googleapis依赖即可单独使用@googleapis/gmail
结论
不需要安装完整的googleapis全包,单独安装@googleapis/gmail即可正常创建授权客户端,代码运行报错是独立包的调用方式和全量包存在差异导致的,不是配置遗漏。
原因说明
全量安装googleapis时,包的入口文件会统一挂载所有Google服务的初始化方法,因此可以直接使用google.gmail({version: 'v1', auth})的写法创建实例。
而单独发布的@googleapis/gmail是独立分发的服务包,不会挂载到全量包的google根对象上,沿用全量包的写法自然会报找不到方法的错误。
独立包的正确使用方式
- 安装依赖
npm install @googleapis/gmail
- 调整初始化代码
// 直接从独立包导入gmail初始化方法 const { gmail } = require('@googleapis/gmail'); // 创建授权客户端,auth参数传入你已完成授权的OAuth2实例即可 const gmailClient = gmail({ auth: yourAuthenticatedAuthClient });
注意:独立服务包已经和对应API版本绑定,初始化时不需要额外传入
version: 'v1'参数,写上也不会触发报错。
补充说明
生产环境更推荐使用独立的服务包,相比体积庞大的全量googleapis包,独立包占用空间小很多,能有效提升依赖安装速度、减少部署包体积。如果没有同时使用多个Google服务的需求,完全不需要安装全量包。
内容的提问来源于stack exchange,提问作者Jake Hall
相关产品推荐
相关产品推荐

