oauth - Google API 刷新 token 已过期或被撤销

标签 oauth google-api google-ads-api refresh-token

这个问题在这里已经有了答案:





Token has expired or revoked - Google Ads

(3 个回答)


7 个月前关闭。




我正在使用 Google Ads php 库 ( https://github.com/googleads/googleads-php-lib ) 来管理 我自己的 谷歌广告帐户,按照谷歌在此处的说明(https://developers.google.com/adwords/api/docs/guides/first-api-call)
(我实际上已经这样做了很多年没有问题,但我最近切换到使用谷歌云平台中的不同项目,所以我不得不更新我的凭据并获得一个新的刷新 token )
为了获得新的刷新 token ,我运行了名为 GetRefreshTokenWithoutIniFile.php 的 php 脚本。 (这允许我授予离线访问权限并检索一个新的刷新 token ,我将其存储在文件 auth.ini 中以备将来使用)。
在我看到此错误之前,刷新 token 会持续几天:

{
    "error" : "invalid_grant",
    "error_description" : "Token has been expired or revoked."
}
我已经使用上述方法多年,刷新 token 从未过期。但是,它现在似乎每隔几天就会过期。我当然不会“用完”刷新 token (我只请求一个),并且用户没有撤​​销访问权限(用户是我)。出于这个原因,这些类似的答案对我没有帮助:
  • '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 太多 - 但是,我只检索 token 一次并重新使用相同的 token (直到它过期!)
  • 根据 Token has expired or revoked - Google Ads ,除非应用程序处于“生产”模式,否则刷新 token 不会持续存在。但是,我尝试了该解决方案,但没有奏效: token 仍会在几天后过期。

  • 还有更多想法吗?

    最佳答案

    更新:这并没有解决问题
    根据Token has expired or revoked - Google Ads ,除非应用程序处于“生产”模式,否则刷新 token 不会持续存在。
    推荐的解决方案是从 Google API 控制台选择“发布应用”。我尝试了这个,但不幸的是,在成功使用刷新 token 几天后,刷新 token 再次过期。

    关于oauth - Google API 刷新 token 已过期或被撤销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67216728/

    相关文章:

    ruby-on-rails - rails api 和 node.js 应用程序之间的用户身份验证

    c# - 谷歌云 API 语法

    wordpress - 我可以将现有的 html 主页谷歌分析代码添加到新的 wordpress 主页吗?

    google-ads-api - Google AdWords 广告系列预算历史记录

    powershell - 使用Oauth凭据的New-PSSession Cmdlet

    spring - JdbcTokenStore - 性能不佳

    iphone - Facebook iOS Safari "Cannot Open Page Error"使用单点登录验证用户时

    java - Google Analytics 4 - Java 中服务帐户 API 使用的简单示例?

    javascript - 如何获取google api图表柱形图中的vaxis线?

    python - Google Adwords API 身份验证问题