微信企业号开发:获取AccessToken

微信企业号开发,需要调用微信企业号的相关接口,则必须使用AccessToken,但AccessToken需要corpid,corpsecret两个参数调用相关接口才能获取。

而且每一个接口都有一定的次数限制,当然获取AccessToken的接口也有这个限制。每一个AccessToken的有效期为7200秒,也就是两个小时,在有效期内调用接口,则自动续期。因此建议在获取到AccessToken后,保存在在某一个地方,等到快过期时在重新获取。其实AccessToken有点类似于web程序中的session,这个有效期7200秒相当于session的有效期,调用接口,则自动续期,就相当于web程序中用户登陆后,和服务端有交互,session的有效期自然延长了。


核心代码AccessTokenInfo类:

public class AccessTokenInfo
    {
        /// <summary>
        /// access_token
        /// </summary>
       public string access_token { get; set; }

        /// <summary>
        /// 凭证有效时间,单位:秒
        /// </summary>
       public long expires_in { get; set; }

        /// <summary>
        /// 获取时间
        /// </summary>
        public DateTime GetTime { get; set; }
    }

BLLAccessToken类

    /// <summary>
    /// 获取企业登陆access_token
    /// </summary>
   public static class BLLAccessToken
    {
       static AccessTokenInfo TokenInfo = null;
       public static string GetAccessToken()
       {
            string AccessToken = "";
           DateTime now=DateTime.Now;
           if (TokenInfo == null)  //首次获取
           {
               TokenInfo = UpDateAccessToken();
           }
           else
           {
               if (TokenInfo.GetTime.AddSeconds(TokenInfo.expires_in - 30) < now) //提前30秒重新获取
               {
                   TokenInfo = UpDateAccessToken();
               }
           }
           AccessToken = TokenInfo.access_token;
           return AccessToken;
       }
       private static AccessTokenInfo UpDateAccessToken()
       {
           string CorpId = AppIdInfo.GetCorpId();//corpid
           string Secret = AppIdInfo.GetSecret(); //corpsecret
           AccessTokenInfo info = new AccessTokenInfo();
           WebUtils ut = new WebUtils();
           /// https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxb7f1db8fd6aa9d68&corpsecret=aoxZ7D5-SgLRUbKY2fwQykW36RqxoIdNIn1pIiGy9iSdXgMHwQCzUsniQVAsBCTt
           string urlFormat = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}";
           var url = string.Format(urlFormat, CorpId, Secret);
           string temp = ut.DoGet(url);
           try
           {
               AccessTokenInfo tempAccessTokenjson = Tools.JsonStringToObj<AccessTokenInfo>(temp);
               info.access_token = tempAccessTokenjson.access_token;
               info.expires_in = tempAccessTokenjson.expires_in;
               info.GetTime = DateTime.Now;
           }
           catch(Exception ex)
           {
               LogInfo.Error("获取AccessToken异常", ex);
           }
           return info;
       }

    }

微信企业号开发:常用的参数

微信企业号开发:corpsecret到底在哪块呢?

获取AccessToken官方文档



  

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 01:31:27

微信企业号开发:获取AccessToken的相关文章

微信企业号开发之-如何获取secret 序列号

最近有项目基于微信企业号开发,简单记录下如何查看企业号secert 工具/原料 微信企业号 方法/步骤  用管理员的帐号登录后,选择[设置]-[权限管理]进入管理组设置界面  在左边点击[新建管理组],新建一个管理组(这里必须新建一个管理组,因为系统管理组是无法获取权限的)   新建好管理组后,根据实际情况需要设置管理权限,在右边页面的最下面就可以看到secret END 注意事项 必须新建管理组 默认的组看不到secert 注:每个分组有一个独立的secert

[转载]微信企业号开发如何建立连接

连接将使你的企业号更具价值,你可以使用以下三种方式,连接你的企业号及企业应用: 1.企业应用调用企业号提供的接口,管理或查询企业号后台所管理的资源.或给成员发送消息等,以下称主动调用模式. 2.企业号把用户发送的消息或用户触发的事件推送给企业应用,由企业应用处理,以下称回调模式. 3.用户在微信中阅读企业应用下发的H5页面,该页面可以调用微信提供的原生接口,使用微信开放的终端能力,以下称JSAPI模式. 通过这三种连接方式的结合,你可以在企业号中建立功能强大的移动轻应用,并依托微信数亿活跃用户,

Force.com微信企业号开发系列(一) - 启用二次验证

微信于9月份推出企业号后引起了业界不小的反响,许多企业都在思索企业号将如何影响企业的运营,从本文开始,我将详细阐述微信企业号开发的相关知识,而本文将着重介绍如何实现更高安全机制的二次验证. 申请企业体验号: 企业号顾名思义就是企业来申请的号,申请时就像申请服务号一样,需要提供各种组织证明文件,对广大开发者来说很难操作,好在腾讯公司也像服务号一样开通了体验号申请,留意企业体验号的有效期间非常短,只有90天(服务号测试账号有1年有效期),且如果企业体验号长期不使用还会收到腾讯公司的提前失效提醒邮件.

微信企业号开发部分代码

之前在一个公司做过,微信企业号开发.为了方便查询将部分代码发上来. 1 public class WXService: System.Web.Services.WebService 2 { 3 /// <summary> 4 /// 发送数据的方法 5 /// </summary> 6 /// <param name="touser">要发往的人员名称</param> 7 /// <param name="touserle

微信企业号开发[三]——调用微信接口

微信的所有主动调用都需要带上AccessToken,以下我们将讲解如何获取AccessToken 获取AccessToken AccessToken是企业号的全局唯一票据,调用接口时需携带AccessToken. AccessToken需要用CorpID和Secret来换取,不同的Secret会返回不同的AccessToken.正常情况下AccessToken有效期为7200秒,有效期内重复获取返回相同结果.access_token至少保留512字节的存储空间. 请求说明 Https请求方式:

微信企业号开发一:主动调用模式之TOKEN申请

微信企业号开发,数据访问格式分为以下三种: 1.企业应用调用企业号提供的接口,管理或查询企业号后台所管理的资源.或给成员发送消息等,以下称主动调用模式. 2.企业号把用户发送的消息或用户触发的事件推送给企业应用,由企业应用处理,以下称回调模式. 3.用户在微信中阅读企业应用下发的H5页面,该页面可以调用微信提供的原生接口,使用微信开放的终端能力,以下称JSAPI模式: 官方文档地址:http://qydev.weixin.qq.com/wiki/index.php 现在我们来看一下主动调用模式的

微信企业号开发之回调模式的接口开发

一.前言 微信企业号应用中,有两种模式,一种是普通模式,这种模式只能进行简单网页链接,以及发送固定的消息.为了可以让企业号的用户更好的与应用交互,微信提供了回调模式,这种回调模式的可以将用户发送给微信的信息,转发到用户提供的一个回调接口上,该接口解析用户发送过来的信息,解析后进行相应,而且回调模式中,可以调用的东西不少,扫码,图片,视频,地理位置信息等. 在应用的模式下,选择回调模式,之后,需要设置3个参数(1.回调接口URL:2.token:3.ASESKey),URL就是提供的回调接口,微信

微信企业号开发之 企业号人员身份认证与开发

前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不是显得多余么? 于是,需要考虑的是,如何获取微信企业号中用户的身份,以及将用户身份与自有系统进行关联. 一.建立企业应用并配置可信域名 在微信的管理界面里面,建立一个企业应用.建立的过程很简单,但是这里需要注意的是,建立完以后,一定要配置可信域名!!!!并且如果你不是使用的标准端口,一定也要把端口配

微信企业号开发:corpsecret究竟在哪块呢?

开发微信企业号,获取ACCESS_TOKEN是必须的,但怎样获取ACCESS_TOKEN呢? 获取access_token=ACCESS_TOKEN" style="text-decoration: none; color: rgb(102, 51, 102); font-family: 'Helvetica Neue', 'Hiragino Sans GB', 'Microsoft YaHei', 微软雅黑, 黑体, Arial, sans-serif; font-size: 14p