首页 | 案例中心 | 联系我们 | 诚聘英才
上海做网站_上海网站建设_上海网站制作_上海网站改版_波宇网络

专业打造企业网站 引领科技营销

定制网站 制作不同需求的功能网站

微信公众号
网站建设方案 建站策划知识 IT外包服务 网络工程服务 网站建设方案 建站策划知识 IT外包服务 网络工程服务
姓名: 联系方式: 留言:
编程技术
.net下的qq登录接口

日期:2014-01-21

作者:波宇网络

不知道为什么QQ没有提供.NET的QQ登录接口。今天教大家做.net下的qq登录接口,首先需要2个DLL文件来处理JSON,2个DLL文件相信用C#吹过JSON的都非常熟悉了,分别是 Newtonsoft.Json.dll 及 RestSharp.dll 大家可以自己在网上找一下下载即可。

下面正式开始写代码:

1.发送QQ认证

 

 

Session["st"]=  FormsAuthentication.HashPasswordForStoringInConfigFile("[静态KEY 随便填用来 MD5加密]"+DateTime.Now.ToString(), "MD5");


Response.Redirect("https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=[申请的APP_ID]&redirect_uri=[返回的URL]&state=" + Session["st"]);

 

2.根据返回的代码来来获取信息

 

 //判断state加密值

        if (Session["st"].ToString() == Request["state"].ToString())
        {

 

            //获取access_token

            var client = new RestClient("https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=[app_id]&client_secret=[app_key]&code="+ Request["code"]+"&redirect_uri=[返回的URL]");
            var rest = new RestRequest(Method.GET);


            RestResponse response = client.Execute(rest);

//这里直接截取了access_tken的字段
            var content = response.Content.Substring(13,32);


           
            //获取到用户OpenID


            var client1 = new RestClient("https://graph.qq.com/oauth2.0/me?access_token="+content);
            var rest1 = new RestRequest(Method.GET);

//这里直接截取了openID的字段
            RestResponse response1 = client1.Execute(rest1);
            var content1 = response1.Content.Substring(45, 32);


           

 

            //获取用户信息

            var client2 = new RestClient("https://graph.qq.com/user/get_user_info?access_token=" + content + "&oauth_consumer_key=[app_id]&openid="+content1+"&format=json");

 

//+"&format=json");  这段千万不能漏掉,做单机测试的时候不加也可以,但是正式使用的时候不加会获取不到数据不知道为什么。。

 


            var rest2 = new RestRequest(Method.GET);


           


            RestResponse response2 = client2.Execute(rest2);
            var content2 = response2.Content;

            //打印access_token
            Response.Write(content);
            Response.Write("</br>");
            Response.Write("</br>");


            //打印OpenID
            Response.Write(content1);
            Response.Write("</br>");
            Response.Write("</br>");


            //打印整个json
            Response.Write(content2);


            //定义一个JSON字符串  
            string jsonText = content2;
            //反序列化JSON字符串 
            JObject ja = JsonConvert.DeserializeObject(jsonText) as JObject;

            Response.Write("</br>");
            Response.Write("</br>");

            //打印用户名
            Response.Write("您好:" + ja["nickname"] + "!");

 

这应该是最简单的 .net下的qq登录接口了。希望对做.net 的朋友有所帮助。当然如果需要做网站的话一定要找上海做网站最专业的波宇网络哦!

 

友情连接:
意墅中国 | 港澳台联考
电话:021-31396732 邮箱:lilijin@pooyoo.net 地址:上海市徐汇区华发路99弄 邮编:200231 网站版权所属:上海波宇网络科技有限公司 备案号:沪ICP备11000569号