OAuth v2(Google API)到期访问令牌

 瑞正可樺7991 发布于 2022-12-19 16:52

我正在使用具有预构建OAuth2连接器的图形框架构建集成组件.此框架需要以下OAuth v2字段:

格兰特类型

范围

Auth服务器URL

客户ID

客户秘密

访问令牌

刷新令牌

我需要从Google AnalyticsAPI获取数据,因此我访问了Google Dev Console(https://console.developers.google.com/project/927890000889/apiui/credential).我生成了一个"Web应用程序的客户端ID".从这个对象的参数我能够填充上面的一些参数

授权类型:'authorisation_code'

客户ID:'RANDOMCHARSam5o37nsiu730d.apps.googleusercontent.com'

客户秘密:'RANDOMCHARSiSwBA5OH5qYLUa'

然后使用Google Oauth Playground(https://developers.google.com/oauthplayground),我能够填补缺失的位

范围:' https : //www.googleapis.com/oauth/analytics '

Auth服务器网址:' https : //accounts.google.com/o/oauth2/auth '

访问令牌:'RANDOMCHARSQAQv4HRF5-JsQEzUS61lj2YremyCocv0PQ4-agpzJe'

刷新令牌:'RANDOMCHARSLPJnL4FPaDc2KP6V8kCzjjHO2Kj4Np_3X0'

一切正常,我有权访问并从Google Analytics获取数据,但只是一段时间,几分钟后如果我重试我收到授权失败错误.我认为问题与访问令牌的到期有关,但我不知道如何解决这个问题.值得一提的是这个活动是批处理的(没有人工交互),所以没有人可以请求新的访问令牌.集成框架是不可扩展的(我不能编写代码来更新代码)所以我相信有一种方法可以获得永不过期的访问令牌或其他一些机制来实现相同的结果.

最重要的是,我不确定自开始以来我是否正确地接近了要求(Web应用程序的客户端ID).

Giovanni,非常感谢任何帮助

1 个回答
  • 访问令牌通常在60分钟后过期.如果您有刷新令牌,则可以使用刷新令牌获取新的(有效)访问令牌.

    本文档介绍了如何执行此操作:https:
    //developers.google.com/accounts/docs/OAuth2WebServer#refresh

    要回答你的首要问题,是的,你正在接近一切.您需要做的就是通过刷新来处理访问令牌已过期的情况.此外,当您最初请求访问令牌时,响应应该告诉您它的有效时间,因此您应该只在该令牌过期时刷新该令牌.

    2022-12-19 16:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有