?? 本文講述微信公眾號(hào)開發(fā)中基礎(chǔ)接口的使用,包括以下內(nèi)容:
? ? (1)獲取許可令牌(AccessToken);
? ? (2)獲取微信服務(wù)器地址;
? ? (3)上傳、下載多媒體文件;
? ? (4)創(chuàng)建、顯示二維碼;
? ? (5)長(zhǎng)鏈接轉(zhuǎn)短鏈接。
? ? 開源項(xiàng)目地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount
? ? 本文的源代碼地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/blob/master/xrwang.net/Example/BasicInterface.aspx.cs
? ? 本文的演示地址:http://xrwang.net/Example/BasicInterface.aspx
? ? 演示效果如下圖:
1 獲取許可令牌
? ? AccessToken類封裝了許可令牌的相關(guān)屬性和方法。
? ? (注:OAuthAccessToken封裝了網(wǎng)頁授權(quán)許可令牌的相關(guān)方法。)
? ? 屬性有:
? ? access_token——令牌字符串
? ? expires_in——有效時(shí)間(單位:秒)
? ? 靜態(tài)方法有:
? ? Get——獲取許可令牌
/// <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 獲取微信服務(wù)器地址
ServerAddresses類封裝了獲取服務(wù)器地址的屬性和方法。
屬性有:
ip_list——服務(wù)器地址數(shù)組
靜態(tài)方法有:
Get——獲取服務(wù)器地址
/// <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 上傳、下載多媒體文件
MultiMediaHelper類封裝了多媒體文件的相關(guān)方法。
靜態(tài)方法有:
Upload——上傳多媒體文件
Download——下載多媒體文件
GetDownloadUrl——獲取多媒體文件的地址
GetVideoMediaId——得到消息群發(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 創(chuàng)建、顯示二維碼
QrCode類封裝了跟二維碼相關(guān)的屬性與方法。
屬性有:
ticket——二維碼的ticket
expire_seconds——二維碼的有效時(shí)間(單位:秒)
url——二維碼圖片解析后的地址
靜態(tài)方法有:
Create——?jiǎng)?chuàng)建二維碼,不同的重載方法可以創(chuàng)建不同類型的二維碼
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, "場(chǎng)景值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 長(zhǎng)鏈接轉(zhuǎn)短鏈接
ShortUrl封裝了長(zhǎng)連接轉(zhuǎn)短鏈接的方法。
靜態(tài)方法有:
Get——將長(zhǎng)鏈接轉(zhuǎn)換成短鏈接
/// <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)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)