当前位置: 首页 > 编程笔记 >

C#微信开发之获取接口调用凭据

索梓
2023-03-14
本文向大家介绍C#微信开发之获取接口调用凭据,包括了C#微信开发之获取接口调用凭据的使用技巧和注意事项,需要的朋友参考一下

获取接口调用凭据

①接口说明

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2h(7200s),需定时刷新,重复获取将导致上次获取的access_token失效。

公众平台的API调用所需的access_token的使用及生成方式说明:

1、为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;

2、目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;

3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。

怎么获取AppID和AppSecret!?

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在微信公众平台官网-开发者中心页中获得。(需要已经成为开发者,且帐号没有异常状态)

注意:在调用所有微信接口时均使用https协议;还有就是如果第三方不使用中控服务器,而是使选择各个业务逻辑点各自去刷新access_taken,那么就有可能会产生冲突,导致服务不稳定。

②请求接口

接口调用请求说明:

http请求方式:GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

接口参数配置

具体实现代码如下:

/// <summary>
/// 获取公众号的ACCESS_TOKEN
/// </summary>
/// <returns>返回操作凭据</returns>
public string GetAccessToken()
{
  if (HttpContext.Current.Cache["access_token"] == null)
 {
   string para = string.Format("grant_type=client_credential&appid={0}&secret={1}", AppID, AppSecret);
   string results = SendHTTPRequest("POST", "https://api.weixin.qq.com/cgi-bin/token", para);
   JObject obj = (JObject)JsonConvert.DeserializeObject(results);
   //*******************************设置access_token的过期机制**************************
   Cache cache = HttpContext.Current.Cache;
   cache.Insert("access_token", obj["access_token"].ToString(), null, DateTime.Now.AddSeconds(7000),
System.Web.Caching.Cache.NoSlidingExpiration);
 //******************************************end*************************************
   return HttpContext.Current.Cache["access_token"].ToString();
 }
 else
 {
   return HttpContext.Current.Cache["access_token"].ToString();
 }
}

返回参数说明:

返回说明:

正常情况下,微信会返回下述JSON数据包给公众号:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

错误时微信会返回错误码信息,JSON数据包实示例如下(该示例为AppID无效错误):

{"errcode":40013,"errmsg":"invalid appid"}

注意:使用access_token的时候要注意此接口是有调用频率限制的,当超过了每日最大的调用频率微信服务器就会对当前公众号做接口限制,具体详情请阅读官方文档(微信公众号接口频率限制说明)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍java微信开发API第三步 微信获取以及保存接口调用凭证,包括了java微信开发API第三步 微信获取以及保存接口调用凭证的使用技巧和注意事项,需要的朋友参考一下 微信如何获取以及保存接口调用凭证,下面就为大家进行介绍 一、说明 *详细说明请参考前两篇文章。 *本文分为三部分:     接口调用凭证access_token的作用以及解释     如何获取接口调用凭证access_t

  • 本文向大家介绍C#开发微信公众号接口开发,包括了C#开发微信公众号接口开发的使用技巧和注意事项,需要的朋友参考一下 具体实现方式不多说了,请看下文 一、前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码。作为微信接口开发人员我们知道网页授权可以用作微

  • 本文向大家介绍C#微信开发之启用开发者模式,包括了C#微信开发之启用开发者模式的使用技巧和注意事项,需要的朋友参考一下 启用开发者模式 ①填写服务器配置 启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个(进入微信公众平台=>开发=>基本配置)就可以看到以下的界面: 点击修改配置,会出现以下界面: 填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者

  • 本文向大家介绍微信小程序开发之获取用户手机号码(php接口解密),包括了微信小程序开发之获取用户手机号码(php接口解密)的使用技巧和注意事项,需要的朋友参考一下 后边要做一个微信小程序,并要能获取用户微信绑定的手机号码。而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有

  • 本文向大家介绍微信开发之网页授权获取用户信息(二),包括了微信开发之网页授权获取用户信息(二)的使用技巧和注意事项,需要的朋友参考一下 在公众号的配置过程中,许多开发者会在菜单中加入HTML5页面,有时在页面内需要访问页面的用户信息,此时就需要网页授权获取用户基本信息 呐喊教程提醒大家:本文介绍讲述的内容是基于yii2.0框架 1、设置授权回调域名:开发 ---> 接口权限   找到“网页授权获取

  • 本文向大家介绍C#微信开发之接收 / 返回文本消息,包括了C#微信开发之接收 / 返回文本消息的使用技巧和注意事项,需要的朋友参考一下 接收 / 返回文本消息 ①接收/返回文本消息原理说明 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上,着手开发之前先行阅读微信公众平台接收普通消息微信开发文档,对微信的这种消息处理机制有一定了解之后再着手开发(微信开