Google OAuth刷新令牌1小时过期问题(Laravel集成PHP Google Ads API)
Google Ads API 刷新令牌1小时过期问题排查与解决
确认授权范围包含离线访问权限
Google Ads API需要同时请求https://www.googleapis.com/auth/adwords和https://www.googleapis.com/auth/offline_access两个范围,才能获取长期有效的刷新令牌。你当前使用的oauth2l fetch命令仅指定了adwords范围,缺少离线访问权限,这是导致刷新令牌短期过期的核心原因。重新生成带离线权限的刷新令牌
修改oauth2l命令,补充离线访问范围参数后重新获取令牌:~/go/bin/oauth2l fetch --credentials CLIENT_SECRET.json --scope adwords,https://www.googleapis.com/auth/offline_access将新获取的刷新令牌替换
google_ads_php.ini中旧的令牌值。检查代码的令牌自动刷新逻辑
确认PHP Google Ads API的Laravel示例代码是否启用了官方的自动刷新机制。GoogleAdsClient默认会在访问令牌过期时自动调用刷新令牌获取新的访问令牌,如果代码中手动固定了访问令牌或禁用了自动刷新,就会出现1小时后令牌过期的报错。验证应用凭据的一致性
核对client_credentials.json中的client_id、client_secret与google_ads_php.ini里的配置是否完全一致,确保使用的是通过审核的应用生成的有效凭据,没有混用旧的凭据文件。
内容的提问来源于stack exchange,提问作者Dennis Adriaansen
相关产品推荐
相关产品推荐

