如何在Make.com HTTP请求中嵌入Refresh Token实现YouTube API长期调用
解决Make.com中自动刷新YouTube API Access Token的方案
核心逻辑说明
Refresh Token不能直接作为请求凭证用在YouTube接口的请求头里,它的作用是向Google OAuth服务器请求新的Access Token,再用新的Access Token调用YouTube API。
具体实现步骤
1. 在Make.com中添加「获取新Access Token」的HTTP模块
- 请求方法:
POST - 请求URL:
https://oauth2.googleapis.com/token - 请求体格式选择「x-www-form-urlencoded」,添加以下参数:
client_id:你的Google开发者控制台客户端IDclient_secret:对应的客户端密钥refresh_token:已获取的刷新令牌grant_type:固定填写refresh_token
- 发送请求后,模块会返回包含新
access_token的JSON响应,提取该字段备用。
2. 配置YouTube视频修改的HTTP模块(图#2)
在你原有的googleapis.com/youtube/v3/videos请求模块中,修改请求头的Authorization字段:
- 值设置为:
Bearer {{获取新Access Token模块的响应.access_token}}
(注:这里的变量引用要根据Make.com中模块的实际名称调整,确保能正确读取到新生成的Access Token)
3. 自动化刷新的触发逻辑
- 定时触发:设置每55分钟执行一次「获取Token+修改视频」的流程,提前在旧Token过期前完成刷新
- 事件触发:如果是基于特定事件(比如新视频上传完成)触发修改操作,就在事件触发后先执行「获取新Token」步骤,再调用YouTube修改接口
关键注意事项
- 确保Refresh Token权限充足:当初获取Token时,必须申请了
youtube.edit、youtube.force-ssl这类允许修改视频信息的OAuth Scope - 检查Google开发者控制台配置:不要将OAuth客户端设置为「一次性Refresh Token」,否则Refresh Token会失效
- 确认请求体格式:Google的Token接口仅接受
x-www-form-urlencoded格式的请求体,用JSON格式会导致请求失败
内容的提问来源于stack exchange,提问作者Markwardt Stahl
相关产品推荐
相关产品推荐

