?? 本文講述微信公眾號(hào)開發(fā)中基礎(chǔ)介面的使用,包括以下內(nèi)容:
? ? (1)取得授權(quán)令牌(AccessToken);
? ? (2)取得微信伺服器位址;
? ?(3)上傳、下載多媒體檔案;
? ? (4)建立、顯示二維碼;
? ? (5)長連結(jié)轉(zhuǎn)短連結(jié)。
? ? 開源專案位址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount
? ? 本文的原始碼位址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount /blob/master/xrwang.net/Example/BasicInterface.aspx.cs
? ? 本文的示範(fàn)位址:http://xrwang.net/Example/BasicInterface.aspx
? ? 示範(fàn)效果如下圖:
? ? AccessToken類別封裝了許可令牌的相關(guān)屬性和方法。
? ? (註:OAuthAccessToken封裝了網(wǎng)頁授權(quán)許可令牌的相關(guān)方法。)
? ? 屬性有:
? ? access_token-令牌字串
? ? expires_in-有效時(shí)間(單位:秒)
? ? 靜態(tài)方法有:
? ? Get-取得授權(quán)令牌
/// <summary> /// 獲取許可令牌 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGetAccessToken_Click(object sender,EventArgs e) { string userName = lbPublicAccount.SelectedValue; AccessToken token = AccessToken.Get(userName); txtAccessToken.Text = token != null ? token.access_token : "獲取許可令牌失敗。"; }2 取得微型訊號(hào)伺服器位址
? ? ServerAddresses類別封裝了取得伺服器位址的屬性與方法。
? ? 屬性有:
? ? ip_list-伺服器位址陣列
? ? 靜態(tài)方法有:
? ? Get-取得伺服器位址
/// <summary> /// 獲取微信服務(wù)器地址 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGetServerAddress_Click(object sender, EventArgs e) { ErrorMessage errorMessage; ServerAddresses addresses = ServerAddresses.Get(out errorMessage); if (errorMessage.IsSuccess && addresses.ip_list != null) { StringBuilder sb = new StringBuilder(); foreach (string ip in addresses.ip_list) sb.AppendFormat("{0},", ip); txtServerAddress.Text = sb.ToString(); } else txtServerAddress.Text = string.Format("獲取微信服務(wù)器地址失敗。{0}", errorMessage); }3 上傳、下載多媒體檔案
? ? MultiiaHelper類別封裝 MultiiaHelper類別封裝 MultiiaHelper類別封裝 Multi。了多媒體檔案的相關(guān)方法。
? ? 靜態(tài)方法有:
? ? Upload-上傳多媒體檔案
? ? Download-下載多媒體檔案
? ? GetDownloadUrl-取得多媒體檔案的位址
? ? GetMediaId-取得訊息群發(fā)中的視訊媒體ID
/// <summary> /// 上傳多媒體文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnUpload_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; MultiMediaTypeEnum type = (MultiMediaTypeEnum)Enum.Parse(typeof(MultiMediaTypeEnum), lbMultiMediaType.SelectedValue); string filename = fileUpload.FileName; byte[] bytes = fileUpload.FileBytes; ErrorMessage errorMessage; MultiMediaUploadResult result = MultiMediaHelper.Upload(userName, type, filename, bytes, out errorMessage); if (errorMessage.IsSuccess && result != null) hlShowMultiMedia.NavigateUrl = MultiMediaHelper.GetDownloadUrl(AccessToken.Get(userName).access_token, result.MediaId); else hlShowMultiMedia.NavigateUrl = string.Format("javascript:alert('上傳多媒體文件失敗。\r\n{0}');", errorMessage); } 上傳多媒體文件,并生成下載鏈接的示例4 建立、顯示二維碼
? ? QrCode類別封裝了與二維碼相關(guān)的屬性與方法。
? ? 屬性有:
? ? ticket-二維碼的ticket
? ? expire_seconds-二維碼的有效時(shí)間(單位:秒)
? ? url-二維碼圖片解析後的位址
? ? 靜態(tài)方法有:
? ? Create-建立二維碼,不同的重載方法可以建立不同類型的二維碼
? ? GetUrl-取得二維碼圖片的位址
/// <summary> /// 創(chuàng)建二維碼 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnCreateQrCode_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; string strSceneId = txtSceneId.Text; QrCode qrcode=null; ErrorMessage errorMessage; if( cbIsTemple.Checked) { int expireSeconds = int.Parse(txtExpireSeconds.Text); int sceneId; if (int.TryParse(strSceneId, out sceneId)) qrcode = QrCode.Create(userName, expireSeconds, sceneId, out errorMessage); else errorMessage = new ErrorMessage(ErrorMessage.ExceptionCode, "場景值id必須為整數(shù)。"); } else { int sceneId; if (int.TryParse(strSceneId, out sceneId)) qrcode = QrCode.Create(userName, sceneId, out errorMessage); else qrcode = QrCode.Create(userName, strSceneId, out errorMessage); } if (errorMessage.IsSuccess && qrcode != null) imgQrCode.ImageUrl = QrCode.GetUrl(qrcode.ticket); else imgQrCode.ImageUrl = ""; }5長連結(jié)轉(zhuǎn)短連結(jié)? ? ShortUrl封裝了長連結(jié)轉(zhuǎn)短連結(jié)的方法。
? ? 靜態(tài)方法有:
? ? Get-將長連結(jié)轉(zhuǎn)換成短連結(jié)
/// <summary> /// 獲取短鏈接 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGetShortUrl_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; string shortUrl = ShortUrl.Get(userName, txtLongUrl.Text, out errorMessage); if (errorMessage.IsSuccess && string.IsNullOrWhiteSpace(shortUrl)) txtShortUrl.Text = shortUrl; else txtShortUrl.Text = string.Format("獲取短鏈接失敗。{0}", errorMessage); }感謝您看完本文,希望對(duì)您有幫助。 更多.net微信公眾號(hào)開發(fā)-基礎(chǔ)介面相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)
