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[0];
if (dtwecaht.Rows.Count > 0)
{
string respText = "";
//獲取appid和appsercret
string wechat_appid = dtwecaht.Rows[0]["wechat_appid"].ToString();
string wechat_appsecret = dtwecaht.Rows[0]["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即可。
多思考,多創新,才是正道!

