除了开发微信遇到的各种坑(见上一篇)。QQ登陆的这个问题也是困扰了有段时间了。
问题:QQ OAUTH2.0登陆。设置回调地址。文档和操作提示都是错的!客服也找不到。搞了狗屎的论坛。还不能发言,各种地方找不到人解决。
现象:在PC端QQ登陆报 redirect uri is illegal(100010)。
相同的页面,发如今手机上反而不会有这个错!
解决过程:认真查看文档。它的回调地址的帮助页面是这种:
http://wiki.connect.qq.com/%E5%9B%9E%E8%B0%83%E5%9C%B0%E5%9D%80%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%8F%8A%E4%BF%AE%E6%94%B9%E6%96%B9%E6%B3%95
用户点击QQ登录跳转到QQ登录页面。登录成功后,应该跳转回站点。回调地址即在这里用来指定跳转回站点的URL。 回调地址注冊的目的是为了保障第三方APPID帐户的安全,以免被其它恶意站点盗用。
申请时需注意: 1. 仅仅须要填写站点根域名就可以; 2. 如有多个站点同一时候使用该APPID。能够注冊多个根域名,用分号隔开; 3. 详细跳转URL将在程序中指定路径以及请求參数进行构造。
比如:申请时填写的callback是:mysite.com;example.com
合法的回调地址能够是:http://bbs.mysite.com/qqlogin.php?
a=1
也能够是:http://www.example.com/qqlogin.php?a=1
可是假设使用:http://www.othersite.com/qqlogin.php?a=1 。请求将会被觉得非法,由于该回调地址根域名未被注冊过。
还特地说仅仅须要填写网站根域名就可以。后面的结论让我不得不在这里问候下她****!
我的推论过程:
早上出门我尝试了几个URL。发现仅仅有返回地址设置的跟回调设置的全然一样的才干够,就连一个/都不能多。通过尝试不通的url,我下了第一个推论论:回调地址必须填写到详细的页面(不带參数,这几个字倒是说对了)!
可是,按我的推论设置了下。发现根本不起作用,怎么设置都是原来的生效。怎么想都没有道理的啊!!!
。
晚上回来,再測试了下,你娘的,早上设置的URL是对了,能够了!
于是我得出第二个结论:前面那个推论是正确的,而且这个參数设置了不会立即生效!
!!【这点在文档中或參数设置页面也没有不论什么提到!】
就由于文档差那么一两句话,一两个字母(前面微信的userName写成username)。开发调试就要浪费大量的时间在排查这些问题!
我们面对一个黑盒子,你设置各种坑。查得出来都得碰运气!。。!。!。!
。!
!!!
腾讯这么牛叉的公司,面对那么多的开发者。写的文档怎么都这么不负责任的,如今还找不到能够提问的地方。
亏我一直对腾讯印象良好,可这两次过后,感觉都没那么爱了。