登录 注册 退出 简体中文 简体中文
中韩通.技术频道
如何调用QQ登录
常见问题 发布时间:2014-07-11

产品类

FAQ1. 我的网站使用QQ登录会有什么样的好处?海量新用户:用户使用已有的QQ号码即可登录网站,QQ一键登录更可减少登录交互操作,大大降低网站注册门槛,给网站带来海量新用户。


活跃的访问量:已登录用户可以将在网站上发布、分享的信息即时同步到QQ空间,使网站内容通过QQ好友关系链得到进一步的传播,从而提升网站的访问量。


丰富的开放API:网站可以通过用户资料接口获取用户的空间昵称和头像,来丰富用户注册资料。此外,还可以通过说说,相册,日志等开放接口使用户直接在网站上访问或修改他们在QQ空间上的数据,与QQ空间实现更以进一步的互联互通。


详见:【QQ登录】网站接入。

2. 是否允许手机开发者使用QQ登录,如何接入?详见:【QQ登录】移动应用接入。

3. 是否有典型成功案例可以参照?详见合作案例 。

4. 使用QQ登录是否收费?“QQ登录”和第三方网站共享QQ庞大的用户价值,同时为QQ用户提供更便捷服务和更优质内容,实现双向共赢,目前不收取任何费用。

5. 与其它网站的登录接入是否有冲突?QQ登录使用国际通用的的OAuth2.0协议进行验证与授权,第三方网站访问腾讯的用户信息时,使用的是腾讯公司为网站分配的access token,因此第三方网站与其它网站的登录接入并不受影响。
详见:【QQ登录】OAuth2.0开发文档。

6. QQ登录和腾讯微博登录有什么不同?相同点:均使用QQ帐号与密码登录。
区别:
--QQ登录的主要优势是能将用户在第三方网站的动态通过好友互动的方式进行扩散,从而增加第三方网站的曝光率,对第三方网站的主要优势在网友社交方面。
--腾讯微博登录的主要优势是在信息转发方面。


申请类FAQ

1. 如何申请?在“管理中心”页面注册为开发者,添加网站/应用。
添加成功后,在管理中心的应用列表中即可看到该应用,以及对应的appkey和appid等信息。


2. 申请QQ登录需不需要审核?申请处理的时间一般为多长?需要通过审核。创建应用后便可以立即获取QQ登录相关的appkey和appid,48小时后方可提交正式上线申请。审核过程大约3个工作日,未审核通过的appid只能设置10个协作者号码进行测试登录,审核通过的可以全量使用。


3. 未审核通过,会产生怎样的限制?为了保障QQ用户登录第三方的安全性,避免违法站点/应用频繁调用QQ用户信息,并大量发送信息以致骚扰到其他好友群体,QQ互联平台对开发中、未提交审核、审核未通过的第三方应用采取"仅协作者帐号能登录"的限制。请未提交上线申请的应用/网站尽快到QQ互联官网进行资料完善补充,提交上线。如果您的站点/应用尚未全量对外开放,处在开发中状态的,也请尽快到QQ互联平台管理中心,在"编辑信息"中进行协作者帐号设置,对此造成的不便,请您谅解。


详细信息请查看【QQ登录】协作者帐号设置。

4. 回调地址常见问题及修改方法请参见【QQ登录】回调地址常见问题及修改方法。

5. 申请QQ登录后,接下来怎么做?根据开发攻略进行QQ登录相关的开发工作:
【QQ登录】移动应用接入 | 【QQ登录】网站接入。

6. 为什么我的网站收到了QQ登录功能被关停的邮件?您的网站接入QQ登录之后,QQ登录团队会定期进行巡查,如果:
1. 不符合【QQ登录】接入规范

2. 或者违反【QQ登录】开发者协议,

我们会关停网站的QQ登录功能并告知网站。网站如需申诉可发送邮件至connect@qq.com

7. 我的网站在海外,没有ICP运营许可证号,可以申请吗?可以。
在“管理中心”页面正确填写网站资料并提交申请后,便可以立即获取QQ登录相关的appkey和appid,无需等待审核。


8. 申请QQ登录时提示“网站域名验证失败”?验证失败可能由于以下原因导致:
1、验证代码未添加成功,请查看验证代码是否已成功添加到网站的HEAD标签中。
2、添加的验证代码与当前登录QQ号不匹配,不同QQ号进行验证时生成的验证码不同,请确认当前进行验证的QQ号生成的验证码与添加到网页源代码里的相同。
3、不允许使用跳转域名。
4、对于服务器或代理访问是否做了特殊处理,如:跳转到移动端页面。
如已正确添加验证码仍无法通过系统验证,请联系企业QQ:800030681进行咨询。


9. 我的互联帐号需要换一个qq号码。如何操作?可到管理中心的控制台进行转移。 如原管理QQ号或密码已遗忘或丢失,请提供appid、密钥(appkey)、需要转移到的新QQ号、营业执照、网站备案复印件发到connect@qq.com申请转移。

技术类FAQ1. 返回码说明详见:公共返回码说明。

2. 通过使用QQ登录第三方能获取QQ用户什么样的信息?网站可以通过用户资料接口获取用户的空间昵称和头像,来丰富用户注册资料。

已登录用户可以将在网站上发布、分享的信息即时同步到QQ空间。

此外,还可以通过说说,相册,日志等开放接口使用户直接在网站上访问或修改他们在QQ空间上的数据,与QQ空间实现更以进一步的互联互通。

3. 通过使用QQ登录能否获取用户的QQ号码?不能。用户登录成功后跳转回网站时,URL中传递的是openid而非QQ帐号,openid是经过转换的字符串。

此外,QQ帐号涉及用户隐私,接入QQ登录的网站应该遵守【QQ登录】开发者协议不允许以任何理由获取或用户QQ帐号相关的信息。

 


4. 基于phpwind的网站能否使用QQ登录?QQ登录团队已提供全面支持Discuz!,PHPWind等平台的集成插件,即将支持CMS,shopEX等平台。请选择适合您网站的插件包下载安装。
详见: 【QQ登录】集成插件。

5. 如何实现QQ登录?麻烦吗?需要很长的开发周期吗?1. 移动应用接入,请参看【QQ登录】移动应用接入。
2. 网站接入,请参看【QQ登录】网站接入。

6. 网站允许使用QQ登录后是否会暴露本网站的隐私数据?网站可通过用户的授权向QQ空间推送用户的动态更新,以及其它优质内容或定向广告,腾讯方面不主动拉取第三方网站的任何数据内容。

7. 用户的登录信息存放在腾讯服务器还是本网站的服务器上?为了保证用户QQ号码的安全,其登录信息放在腾讯服务器上。

8. 网站使用QQ登录时,需要实现哪些接口?腾讯提供了哪些OpenAPI?需要实现两种接口:
1. OAuth登录相关接口,用来获取用户的access token和openid,详见QQ登录OAuth2.0的处理流程。

2. OpenAPI,用来访问和修改Qzone受保护的资源,详见【QQ登录】API文档。

9. 为什么有的OpenAPI必须申请才能使用?如何申请?处理时间多长?出于信息安全的考虑,部分OpenAPI仅对可信赖的合作网站开放。需要申请的接口,我们在【QQ登录】API文档中进行了标注。

申请方式,处理时间及审核标准详见:【QQ登录】OpenAPI权限申请。

 


10. access token有效期为多久?access token有效期为90天,每次调用api成功,自动续期90天。

11. 如果用户删除了对网站的授权(即access_token失效)怎么办?如果用户删除了对网站的授权,则下次用户再次使用QQ登录时,需要重新进行授权操作。

在代码实现中,即表示access_token失效,需要重新获取access_token。

网站获取到的access_token有效期为3个月,和某一个openid对应。
此外,用户也有权限在Qzone这边删除对第三方的授权,此时该access_token会失效,需要重新走整个流程让用户授权。

 


12. QQ登录、授权页面时未打开新窗口,直接缩小了当前浏览器的窗口?“QQ登录”按钮响应事件代码中,必须重新打开窗口。详见【QQ登录】放置“QQ登录”按钮的代码示例。

 


13. 签名参数总是生成错误,怎么测试是否正确?详见:【QQ登录】签名参数oauth_signature的说明,根据步骤来检查哪一步生成错误。

此外,上述文档中也给出了测试签名生成是否正确的推荐测试地址。

 


14. 获取到的QQ昵称写入数据库后变成乱码,怎么解决?我们返回的昵称格式是U8的,网站拿到之后可以按照需要自己转码。

15. 如果我服务器系统是英文语言,生成时间戳是否会有影响?理论上不会。请将你的服务器时间设置为北京时间,与腾讯服务器时间戳相差不要超过5分钟。

16. 为什么直接取session值可以取到,但跳转到QQ登录授权页面再跳转回网站时,就取不到了呢?子域名不能共享session的问题导致。解决方案详见:【QQ登录】关于session的使用限制以及解决方案的说明。

 


17. 如何知道地区代码对应的国家、省份及城市名称?调用微博相关的OpenAPI时,有的接口会返回地区代码信息。
关于地区代码对应的国家、省份及城市名称,请参见国家城市名称对应代码列表。

18. 如何知道学校ID以及院系ID对应的详细信息?调用微博相关的OpenAPI时,有的接口会返回教育信息。
关于学校ID对应的详细学校信息,以及院系ID对应的详细院系名称,请参见教育信息数据库。

19. 调用add_topic返回错误Url not allowed -109 error如果richtype为1,那么传入的richval参数值需要进行url编码(urlencode)。


20. 使用API获取用户昵称时返回“qzuser”是怎么回事?可能是所使用的API没有激活,可以到管理中心的控制台查看已激活API列表中是否有该API。
也可能是用户使用qq登录时跳过了授权步骤。


21. 使用PHP CURL获取不到HTTPS的请求这么办?请检查是否配置了curl,检查服务器443端口有没有开放。


22. 获取access_token报100019错误这么办?Web应用qq登录成功回调地址后会返有code参数,通过code参数值可以获得access_token,此code只能使用一次,有效期为10分钟,重复使用会报100019错误。
详细内容参考 公共返回码说明


23. 调用API时报client id is illegal 100008(公共返回码说明) 错误怎么办?请检查检查oauth_consumer_key的值是否等于appid。

 

24. Android SDK 1.4为什么没有返回性别?由于安全策略的原因,SDK将通过get_simple_userinfo接口获取用户信息,信息中将不再返回“性别”字段。

 

25. 移动端应用调用get_simple_userinfo为什么报 app has no privilege to user this api 错误?移动端应用登录授权的URL和网站类应用的API有所区别,移动端专有API的URL为:
获取Access_Token:https://openmobile.qq.com/oauth2.0/m_authorize
获取OpenID:https://openmobile.qq.com/oauth2.0/m_me
获取用户信息 : https://openmobile.qq.com/user/get_simple_userinfo
建议第三方使用官网提供的移动端SDK避免调试出错 【QQ登录】SDK下载


其它1. 用户是否可以解除网站使用QQ登录的绑定?用户可在QQ空间中的个人设置选项“授权管理”中管理与第三方网站的连接。
建议第三方在自己的网站中设置同样的授权管理功能。

2. 没开空间的QQ号码登录的时候不能自动跳转到网站?有别的解决方案吗?目前只能建议用户开通QQ空间。后续腾讯会优化这里的体验,非开通用户也能够正常使用QQ登录来登录网站。

3. 为什么用户用QQ帐号登录部分网站不能一键登录,还需要再输入用户名和邮箱?这个与网站自身逻辑有关。一般来说用户第一次使用QQ帐号登录网站时,网站需要用户输入用户名和密码来实现QQ帐号和网站自身帐号的绑定。