.net微信开发 如何获取AccessToken

所属分类: 网络编程 / ASP.NET 阅读数: 881
收藏 0 赞 0 分享

本文实例为大家分享了获取AccessToken的方法,供大家参考,具体内容如下

AccessToken获取方法

public static Access_token GetAccessToken()
{
  string formatString = String.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", AppId, AppSecret);

  Access_token res = new Access_token();
  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(formatString);
  request.Method = "GET";
  request.ContentType = "text/html;charset=UTF-8";
  HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  Stream myResponseStream = response.GetResponseStream();
  StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
  string retString = myStreamReader.ReadToEnd();
  myStreamReader.Close();
  myResponseStream.Close();
  if (retString.IndexOf("7200") > 0)
  {
    Access_token token = new Access_token();
    token = JsonHelper.ParseFromJson<Access_token>(retString);
    res.access_token = token.access_token;
    res.expires_in = token.expires_in;
  }
  return res;
}

Access_token类结构

public class Access_token
{
  public Access_token()
  {
    // 
    //TODO:用于验证Access_token是否过期实体
    // 
  }
  string _access_token;
  string _expires_in;

  /// <summary> 
  /// 获取到的凭证  
  /// </summary> 
  public string access_token
  {
    get { return _access_token; }
    set { _access_token = value; }
  }

  /// <summary> 
  /// 凭证有效时间,单位:秒 
  /// </summary> 
  public string expires_in
  {
    get { return _expires_in; }
    set { _expires_in = value; }
  }
}

JsonHelper.ParseFromJson方法

/// <summary> 
/// 将JSON对象转换为Model
/// </summary> 
/// <typeparam name="T"></typeparam> 
/// <param name="szJson"></param> 
/// <returns></returns> 
public static T ParseFromJson<T>(string szJson)
{
  T obj = Activator.CreateInstance<T>();
  using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
  {
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
    return (T)serializer.ReadObject(ms);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多