.Net实现微信公众平台开发接口(二) 之 “获取access_token”

时间:2023-11-15 12:19:32

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。

接口调用请求说明

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数 是否必须 说明
grant_type 获取access_token填写client_credential
appid 第三方用户唯一凭证
secret 第三方用户唯一凭证密钥,即appsecret

返回说明

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

{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数 说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒

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

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

具体实现的代码如下:
//获取微信凭证access_token的接口
public static string getAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}"; #region 获取微信凭证
public string GetAccessToken(string wechat_id)
{
string accessToken = "";
//获取配置信息Datatable
DataTable dtwecaht = wechatdal.GetList("wechat_id='" + wechat_id + "'").Tables[]; if (dtwecaht.Rows.Count > )
{
string respText = "";
//获取appid和appsercret
string wechat_appid = dtwecaht.Rows[]["wechat_appid"].ToString();
string wechat_appsecret = dtwecaht.Rows[]["wechat_appsecret"].ToString();
//获取josn数据
string url = string.Format(getAccessTokenUrl, wechat_appid, wechat_appsecret); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream resStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(resStream, Encoding.Default);
respText = reader.ReadToEnd();
resStream.Close();
}
JavaScriptSerializer Jss = new JavaScriptSerializer();
Dictionary<string, object> respDic = (Dictionary<string, object>)Jss.DeserializeObject(respText);
//通过键access_token获取值
accessToken = respDic["access_token"].ToString();
} return accessToken;
}
#endregion 获取微信凭证

后面调用接口的时候,就直接调用这个方法获取access_token即可。