我想从 Google 获取访问令牌。 Google API 表示要获取访问令牌,将代码和其他参数发送到令牌生成页面,响应将是一个 JSON 对象,如:
{ "access_token" : "ya29.AHES6ZTtm7SuokEB-RGtbBty9IIlNiP9-eNMMQKtXdMP3sfjL1Fc", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/HKSmLFXzqP0leUihZp2xUt3-5wkU7Gmu2Os_eBnzw74" }
但是,我没有收到刷新令牌。我的情况是:
{ "access_token" : "ya29.sddsdsdsdsds_h9v_nF0IR7XcwDK8XFB2EbvtxmgvB-4oZ8oU", "token_type" : "Bearer", "expires_in" : 3600 }
refresh_token仅在用户首次授权时提供。后续授权,例如您在测试 OAuth2 集成时所做的授权,将不会refresh_token再次返回。:)
refresh_token
或者,您可以将查询参数添加prompt=consent&access_type=offline到 OAuth 重定向(请参阅 Google 的OAuth 2.0 for Web Server Applications页面)。
prompt=consent&access_type=offline
这将提示用户再次授权应用程序并始终返回一个refresh_token.