我正在使用具有预构建OAuth2连接器的图形框架构建集成组件。 此框架需要进行以下的OAuth的v2的领域:OAuth v2(Google API)失效访问令牌
- 格兰特型
- 范围
- Auth服务器URL
- 客户编号
- 客户端密钥
- 访问令牌
- 刷新令牌
我需要从Google Analytics API获取数据,因此我去了Google开发者控制台 (https://console.developers.google.com/project/927890000889/apiui/credential)。我生成了一个'Web应用程序的客户端ID'。从这个对象的参数,我能够填补一些参数上面
- 格兰特类型:“authorisation_code”
- 客户ID:“RANDOMCHARSam5o37nsiu730d.apps.googleusercontent.com”
- 客户秘密:“ RANDOMCHARSiSwBA5OH5qYLUa”
然后使用谷歌OAuth园地(https://developers.google.com/oauthplayground),我是能够填补缺失位
- 适用范围: 'https://www.googleapis.com/oauth/analytics'
- Auth服务器URL: 'https://accounts.google.com/o/oauth2/auth'
- 访问令牌: 'RANDOMCHARSQAQv4HRF5-JsQEzUS61lj2YremyCocv0PQ4-agpzJe'
- 刷新标记: 'RANDOMCHARSLPJnL4FPaDc2KP6V8kCzjjHO2Kj4Np_3X0'
一切正常,我我有权访问并从Google Analytics获取数据,但仅仅几分钟后,如果我重试,我会收到授权失败错误。 我相信问题与访问令牌的到期有关,但我不知道如何解决这个问题。 值得一提的是这个活动是批量的(没有人为交互),所以没有人可以请求一个新的访问令牌。 集成框架是不可扩展的(我不能编写代码来更新代码),所以我相信有一种方法可以获得永不过期的访问令牌或某种其他机制来实现相同的结果。底线,我不确定自从一开始就正确接近要求(Web应用程序的客户端ID)。
任何帮助是非常赞赏, 乔瓦尼
嘿菲利普,感谢您的帮助。 我看了一下你给我的链接。 我的理解是,当access_token过期时,refresh_token不会。 因此,一旦access_token过期,如果我使用refresh_token发送请求,则Google Oauth实施会将我可以用来访问资源的新access_token发送给我(在我的情况下,向Google Analytics API进行身份验证)。 我的理解是否正确? 干杯,乔凡尼 – 2014-09-26 04:18:50
是的,这是完全正确的。请记住,刷新令牌请求可能会失败。在原授权人撤销访问的情况下会发生这种情况,但如果您是原始授权人,那么显然您不必担心这一点。 – 2014-09-26 05:02:35
我们可以通过刷新令牌请求多少访问令牌吗?所以我可以永久使用它,并按时访问用户?是吗? – 2016-08-12 10:43:47