获取Access Token
token是公众号全局唯一票据 在调用其他接口之前都需要先得到token token长度至少512个字符,通常用string保存即可 有效时间2小时 重复获取后,前一次的token会失效
json 反序列化
微信服务器返回数据大部分都是json格式的,所以为了方便我们使用,我们需要封装一个反序列化json的方法 我们使用Newtonsoft.Json 这个第三方组件,版本是.NET 2.0的 封装方法如下:
public static T ReadJson<T>(string jsonText)
{
return JavaScriptConvert.DeserializeObject<T>(jsonText);
}
Code language: PHP (php)
C# GET方法的封装
我们封装一个GET获取html的方法 打开看Tools.CS的文件
调用获取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
返回说明
成功返回时候,返回如下:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
Code language: JSON / JSON with Comments (json)
失败的时候返回如下
{"errcode":40013,"errmsg":"invalid appid"}
Code language: JSON / JSON with Comments (json)
各字段说明 access_token 获取到的凭证 expires_in 凭证有效时间,单位:秒 errcode 错误编号 errmsg 错误信息说明
添加一个基类Page
因为我们的aspx页面很多东西都是公用一个的 比如appid appsecret等这些 所以我们可以封装一个基类page 添加一个返回实体 Access_token_info 属性包含成功信息和错误信息 属性名称保留一样的 否则无法反序列化
主要代码:
private const string urlFormat = "[https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}](https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1})";
string url = string.Format(urlFormat, appID, appSecret);
string json = Tool.GetHtml(url);
Access_token_info obj = Tool.ReadJson<Access_token_info>(json);
Code language: PHP (php)
public class Access_token_info
{
public string access_token { set; get; }
public string expires_in { set; get; }
public string errcode { set; get; }
public string errmsg { set; get; }
}
Code language: JavaScript (javascript)
public class BasePage : System.Web.UI.Page
{
protected string appID = "";
protected string appSecret = "";
}
Previous: 基本配置/ 填写服务器配置
Next: 获取微信服务器IP地址