我尝试使用gmail api进行学习。我创建了gmail登录。在允许我重定向新网页之后。地址是http://localhost:8080/Zon/Confirm?code=4/v4-CqVXkhiTkn9uapv6V0iqUmelHNnbLRr1EbErzkQw#
那么如何从这个地址获取访问令牌?
答案 0 :(得分:1)
您无法使用localhost进行重定向。想一想,Google服务器如何知道您的地址,以便向您发送身份验证令牌?
重定向Uri必须可公开访问,以便Google OAuth服务可以在身份验证后将用户重定向到重定向网址。您无法使用localhost完成OAuth循环。
尝试使用公开托管网站的API。
答案 1 :(得分:0)
您在查询参数code
中看到的值是您必须发布到Google才能获取访问令牌的字符串。
Web服务器收到授权代码后,可以进行交换 访问令牌和刷新令牌的授权码。这个 request是对URL的HTTPS POST https://www.googleapis.com/oauth2/v3/token
POST /oauth2/v3/token HTTP/1.1
content-type: application/x-www-form-urlencoded
code=4/v4-CqVXkhiTkn9uapv6V0iqUmelHNnbLRr1EbErzkQw#&redirect_uri=<redirect_uri>&client_id=<client_id>&scope=&client_secret=************&grant_type=authorization_code
https://developers.google.com/identity/protocols/OAuth2WebServer