DTcms.API/OAuth/qq_helper.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using DTcms.Common;
using LitJson;
namespace DTcms.API.OAuth
{
public class qq_helper
{
public qq_helper()
{ }
/// <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)
{
//获得配置信息
oauth_config config = oauth_helper.get_config("qq");
string send_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=" + config.oauth_app_id + "&client_secret=" + config.oauth_app_key + "&code=" + code + "&state=" + state + "&redirect_uri=" + Utils.UrlEncode(config.return_uri);
//发送并接受返回值
string result = Utils.HttpGet(send_url);
if (result.Contains("error"))
{
return null;
}
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
{
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 = Utils.HttpGet(send_url);
if (result.Contains("error"))
{
return null;
}
后面还有 66 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
