无Web服务的YouTube OAuth2(urn:ietf:wg:oauth:2.0:oob)授权404报错求助
YouTube API OAuth授权码交换404问题解决
修正Token请求URL:你当前用的请求URL末尾多了斜杠,正确地址是
https://accounts.google.com/o/oauth2/token,末尾的斜杠会触发Google服务器返回404,去掉后重新发起请求即可。确认redirect_uri的正确性:
urn:ietf:wg:oauth:2.0:oob是合法的无Web服务场景重定向URI,只要满足以下两点就没问题:- 在Google Cloud控制台的OAuth 2.0客户端ID配置中,已将该URI添加到对应客户端的重定向列表(注意客户端类型要选「桌面应用」,因为oob是专为桌面/原生应用设计的);
- 请求体里的
redirect_uri必须和控制台配置的内容完全一致,不能有拼写错误、大小写差异或多余字符。
无需搭建localhost服务:
urn:ietf:wg:oauth:2.0:oob就是为了省去搭建Web服务的麻烦而设计的授权方式,只要配置正确,完全可以用这个URI完成授权流程,不用额外部署本地Web服务。关于Java客户端库的使用:既然已经改用Java版YouTube客户端库,这个库已经封装了完整的OAuth 2.0授权逻辑,不需要手动构造POST请求,能自动处理授权码交换、令牌刷新等操作,既避免了手动调用API的各种错误,又能保障连接安全性,直接参考库的示例代码就能快速完成集成。
内容的提问来源于stack exchange,提问作者StonedCodingTom
相关产品推荐
相关产品推荐

