获取AccessToken的方法

  1. public static Access_token GetAccessToken()
  2. {
  3. string formatString = String.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", AppId, AppSecret);
  4.  
  5. Access_token res = new Access_token();
  6. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(formatString);
  7. request.Method = "GET";
  8. request.ContentType = "text/html;charset=UTF-8";
  9. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  10. Stream myResponseStream = response.GetResponseStream();
  11. StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
  12. string retString = myStreamReader.ReadToEnd();
  13. myStreamReader.Close();
  14. myResponseStream.Close();
  15. if (retString.IndexOf("") > )
  16. {
  17. Access_token token = new Access_token();
  18. token = JsonHelper.ParseFromJson<Access_token>(retString);
  19. res.access_token = token.access_token;
  20. res.expires_in = token.expires_in;
  21. }
  22. return res;
  23. }

Access_token类结构

  1. public class Access_token
  2. {
  3. public Access_token()
  4. {
  5. //
  6. //TODO:用于验证Access_token是否过期实体
  7. //
  8. }
  9. string _access_token;
  10. string _expires_in;
  11.  
  12. /// <summary>
  13. /// 获取到的凭证
  14. /// </summary>
  15. public string access_token
  16. {
  17. get { return _access_token; }
  18. set { _access_token = value; }
  19. }
  20.  
  21. /// <summary>
  22. /// 凭证有效时间,单位:秒
  23. /// </summary>
  24. public string expires_in
  25. {
  26. get { return _expires_in; }
  27. set { _expires_in = value; }
  28. }
  29. }

JsonHelper.ParseFromJson方法

  1. /// <summary>
  2. /// 将JSON对象转换为Model
  3. /// </summary>
  4. /// <typeparam name="T"></typeparam>
  5. /// <param name="szJson"></param>
  6. /// <returns></returns>
  7. public static T ParseFromJson<T>(string szJson)
  8. {
  9. T obj = Activator.CreateInstance<T>();
  10. using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
  11. {
  12. DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
  13. return (T)serializer.ReadObject(ms);
  14. }
  15. }

微信开发 获取AccessToken的更多相关文章

  1. 转:微信开发获取地理位置实例(java,非常详细,附工程源码)

    微信开发获取地理位置实例(java,非常详细,附工程源码)   在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一 ...

  2. 微信企业号 获取AccessToken

    目录 1. AccessToken介绍 2. 示例代码 1. AccessToken介绍 1.1 什么是AccessToken AccessToken即访问凭证,业务服务器每次主动调用企业号接口时需要 ...

  3. 微信开发获取media_id错误码汇总

    微信开发遇到的错误汇总: 1. 错误代码40001 "errcode": 40001,    "errmsg": "invalid credentia ...

  4. 微信开发获取地理位置实例(java,非常详细,附工程源码)

    在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一些必要的配置,以及如何调用微信接口. 2.微信开发之通过代理调试 ...

  5. 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  6. MVC 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  7. 微信开发核心AccessToken实现

    Common <?php namespace Proxy\Action; use Think\Action; use Vendor\Func\Red; class CommonAction ex ...

  8. nodejs微信开发获取token,ticket-1

    /* jshint -W079 */ /* jshint -W020 */ "use strict"; var _ = require("lodash"); v ...

  9. 微信开发笔记(accesstoken)

    access_token分两种 一种是公众号权限获取用,调用cgi-bin接口 ,此种token一个公众号同时只有一个,用这一个就够了. 服务器最好缓存. 用这个token前提是用户关注了此公众号. ...

随机推荐

  1. django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty

    https://www.e-learn.cn/content/wangluowenzhang/165461 问题: I created a new project in django and past ...

  2. [Xamarin.Android] 如何透過電子郵件部署Xamarin.Android App (转帖)

    Android App在部署到實機的時候不像iOS的App限制你一定要使用向Apple申請的開發者憑證,在Apple不管是你要上架到Apple Store或者是企業內部署,你都必須向蘋果申請憑證. 而 ...

  3. Python3 print()函数sep,end,file参数用法练习

    来自builtins.py:def print(self, *args, sep=' ', end='\n', file=None): # known special case of print &q ...

  4. express后端和fetch前端的json数据传递

    在使用express做后端,前端使用fetch API来请求后端时,一般都是用 JSON 数据进行通信的. 下面是一个简单的例子: 前端: if (up) { var passwordAgain = ...

  5. Linux系统编程:文件I/O编程

    文件I/O操作在Linux编程时是经常会使用到的一个内容,通常可以把比较大的数据写到一个文件中来进行存储或者与其他进程进行数据传输,这样比写到一个全局数组或指针参数来实现还要方便好多. 一.文件常用操 ...

  6. hibernate树状映射

    例如公司的组织机构:一个公司可以有多个子公司,一个子公司子有多个部门. 其实就是一张表, 例子程序: Organization类: package com.oracle.hibernate; impo ...

  7. hibernate3.3.2搭建Junit日志环境

    搭建好log4j日志环境后,再来搭建Junit测试环境: 测试代码放在另外一个目录下,项目右键,new一个source folder,源代码目录,放我们的测试代码,名字test.src放源代码. 比较 ...

  8. Jmeter创建一个点对点的 JMS 测试计划

    创建一个点对点的 JMS 测试计划 确保所需的jar文件位于JMeter lib目录中. 如果没有,关闭JMeter,复制jar文件并重新启动JMeter. 参见详细教程 在本节中,将学习如何创建测试 ...

  9. css中字体单位px,pt,em,百分比之间的区别和用法

    px 即像素,一般国内网站使用较多,默认大小是16px; pt 印刷行业常用单位 em  相对单位,相对父元素属性的单位 ,一般用于移动端布局 rem  结合相对定位和绝对定位的优势,相对根元素htm ...

  10. 大数据搭建各个子项目时配置文件技巧(适合CentOS和Ubuntu系统)(博主推荐)

    不多说,直接上干货! 很多同行,也许都知道,对于我们大数据搭建而言,目前主流,分为Apache 和 Cloudera 和 Ambari. 后两者我不多说,是公司必备和大多数高校科研环境所必须的! 分别 ...