成功的走出第一步後,我們緊接着趁熱打鐵開始下一步:
成為了開發者之後微信平台會給您AppId和AppSecret,在訂閱号中是沒有的,是以因該申請一下服務号,
若沒有請注意上一篇http://www.cnblogs.com/QLJ1314/p/3837952.html 成為開發者
有了ACCESSTOKEN才能做添加菜單,上傳/下載下傳圖檔等功能
是以這次還要借用一下大哥的代碼了,上代碼:
原文出處: http://blog.csdn.net/hemeng1980/article/details/19502455
private string GetToken()
{
// 也可以這樣寫:
//return GetPage("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret", "");
string res = "";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential
&appid=你的appid&secret=你的secret");
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
List<ACCESSTOKEN> myACCESSTOKEN = Json.JSONStringToList<ACCESSTOKEN>(content);
res = myACCESSTOKEN[0].access_token;
}
return res;
}
public string GetPage(string posturl, string postData)
{
Stream outstream = null;
Stream instream = null;
StreamReader sr = null;
HttpWebResponse response = null;
HttpWebRequest request = null;
Encoding encoding = Encoding.UTF8;
byte[] data = encoding.GetBytes(postData);
// 準備請求...
try
{
// 設定參數
request = WebRequest.Create(posturl) as HttpWebRequest;
CookieContainer cookieContainer = new CookieContainer();
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect = true;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
outstream.Close();
//發送請求并擷取相應回應資料
response = request.GetResponse() as HttpWebResponse;
//直到request.GetResponse()程式才開始向目标網頁發送Post請求
instream = response.GetResponseStream();
sr = new StreamReader(instream, encoding);
//傳回結果網頁(html)代碼
string content = sr.ReadToEnd();
string err = string.Empty;
return content;
}
catch (Exception ex)
{
string err = ex.Message;
Response.Write(err);
return string.Empty;
}
}
因為後邊的大部分操作基本都要根據你的值來操作的。暫時先寫這麼多吧,明天繼續