我正在使用 Google Ads php 库 (https://github.com/googleads/googleads-php-lib) 来管理我自己的 google ads 帐户,按照此处的 Google 说明进行操作 (https://developers.google.com/adwords/api/docs/guides/first-api-call)
(实际上我已经这样做了很多年没有问题,但我最近切换到在 Google Cloud Platform 中使用不同的项目,所以我不得不更新我的凭据并获得一个新的刷新令牌)
为了获得一个新的刷新令牌,我运行了名为 GetRefreshTokenWithoutIniFile.php
的 php 脚本(它允许我授予离线访问权限并检索一个新的刷新令牌,我将其存储在一个文件中 auth.ini
) {1}} 以备将来使用)。
刷新令牌持续了几天,然后我看到了这个错误:
{
"error" : "invalid_grant",
"error_description" : "Token has been expired or revoked."
}
我已经使用上述方法多年,刷新令牌从未过期。但是,它现在似乎每隔几天就会过期。我当然不会“用完”刷新令牌(我只请求一个),并且用户没有撤销访问权限(用户是 me)。出于这个原因,这些类似的答案对我没有帮助:
'Token has been expired or revoked' - Google OAuth2 Refresh token gets expired in few days 提示“安全活动”存在问题,但我在我的 Google 帐户中没有发现任何安全问题。
Google token refresh returns "Token has been expired or revoked." 和 Since couple of days Refresh token has been automatically expired 表明问题可能是刷新令牌过多 - 但是,我只检索令牌一次并重新使用相同的令牌(直到它过期!)>
根据 Token has expired or revoked - Google Ads,除非应用处于“生产”模式,否则刷新令牌不会持续存在。但是,我尝试了该解决方案,但没有奏效:令牌仍会在几天后过期。
还有什么想法吗?
答案 0 :(得分:0)
更新:这并没有解决问题
根据 Token has expired or revoked - Google Ads,除非应用处于“生产”模式,否则刷新令牌不会持续存在。
推荐的解决方案是从 Google API 控制台选择“发布应用”。这个我试过了,可惜在成功使用刷新令牌几天后,刷新令牌又过期了。