基本信息
源码名称:QQ登录帮助类示例代码
源码大小:4.15KB
文件格式:.cs
开发语言:C#
更新时间:2015-12-23
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 1 元×
微信扫码支付:1 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Web;
namespace LWSR.FBU.API
{
public class QQHelper
{
public static string qq_id = Common.CommonUtils.GetStringValue(ConfigurationManager.AppSettings["qqid"]);
public static string qq_key = Common.CommonUtils.GetStringValue(ConfigurationManager.AppSettings["qqkey"]);
public static string qq_return = Common.CommonUtils.GetStringValue(ConfigurationManager.AppSettings["qqreturn"]);
public QQHelper() { }
/// <summary>
/// 取得临时的Access Token
/// </summary>
/// <param name="code">临时Authorization Code,官方提示10分钟过期</param>
/// <param name="state">防止CSRF攻击,成功授权后回调时会原样带回</param>
/// <returns>Dictionary</returns>
public static Dictionary<string, object> get_access_token(string code, string state)
{
string send_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=" qq_id "&client_secret=" qq_key "&code=" code "&state=" state "&redirect_uri=" HttpUtility.UrlEncode(qq_return);
//发送并接受返回值
string result = Common.Common.getPageFromURL(send_url);
if (result.Contains("error"))
{
return null;
}
else
{
try
{
string[] parm = result.Split('&');
string access_token = parm[0].Split('=')[1]; //取得access_token
string expires_in = parm[1].Split('=')[1]; //Access Token的有效期,单位为秒
Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("access_token", access_token);
dic.Add("expires_in", expires_in);
return dic;
}
catch (Exception)
{
return null;
}
}
}
/// <summary>
/// 取得用户openid
/// </summary>
/// <param name="access_token">临时的Access Token</param>
/// <returns>Dictionary</returns>
public static Dictionary<string, object> get_open_id(string access_token)
{
string send_url = "https://graph.qq.com/oauth2.0/me?access_token=" access_token;
//发送并接受返回值
string result =Common.Common.getPageFromURL(send_url);
if (result.Contains("error"))
{
return null;
}
//取得文字出现
int str_start = result.IndexOf('(') 1;
int str_last = result.LastIndexOf(')') - 1;
//取得JSON字符串
result = result.Substring(str_start, (str_last - str_start));
//反序列化JSON
Dictionary<string, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
return dic;
}
/// <summary>
/// 获取登录用户自己的基本资料
/// </summary>
/// <param name="access_token">临时的Access Token</param>
/// <param name="open_id">用户openid</param>
/// <returns>Dictionary</returns>
public static Dictionary<string, object> get_user_info(string access_token, string open_id)
{
//获得配置信息
string send_url = "https://graph.qq.com/user/get_user_info?access_token=" access_token "&oauth_consumer_key=" qq_id "&openid=" open_id;
//发送并接受返回值
string result = Common.Common.getPageFromURL(send_url);
if (result.Contains("error"))
{
return null;
}
//反序列化JSON
Dictionary<string, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
return dic;
}
}
}