我的网站需要添加QQ登录功能API等 都已经申请 现在的问题是 当我登录成功后 如何获取数据 并且保存到我的数据库中 以便下次登录呢现在给我返回的时 index.php?code=94814552AC64B28D0320FB276512BA0D&state=75e315c82f0609a7d22eae7b2e24b20b

解决方案 »

  1.   

    现在是取得了 code
    用code + 必需参数 换取access token,
    再用access token + 必需参数换取用户 openid,
    openid就是唯一标识,可以存到数据库辨别用户身份。appid+token+openid才可以取得用户信息
      

  2.   

    1. 请求时传入的recirect_uri必须与注册时填写的回调地址一致,用来进行第三方应用的身份验证。
    2. 可通过js方法:window.location.hash来获取URL中#后的参数值,详见下面的示例代码。
    3. 建议用js设置cookie存储token。
    4. 获取到的access token具有3个月有效期,网站需实现防过期策略,并在过期后提示用户再次授权。你的服务器拿到access token就可以存起来了,并且:Step3:使用Access Token来获取用户的OpenID1. 发送请求到如下地址(请将access_token等参数值替换为你自己的):
    https://graph.qq.com/oauth2.0/me?access_token=YOUR_ACCESS_TOKEN2. 获取到用户OpenID,返回包如下:
    callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} ); 
    Step4:使用Access Token以及OpenID来访问和修改用户数据1. 建议网站在用户登录后,即调用get_user_info接口,获得该用户的头像、昵称并显示在网站上,使用户体验统一。
    2. 调用其他OpenAPI,以访问和修改用户数据。所有OpenAPI详见【QQ登录】API文档。你去网站照着做肯定能成功的:http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91%E5%BC%80%E5%8F%91%E6%94%BB%E7%95%A5_Client-side#Step2.EF.BC.9A.E8.8E.B7.E5.8F.96Access_Token