?? 本文講述微信公眾號開發(fā)中基礎接口的使用,包括以下內容:
? ? (1)獲取許可令牌(accesstoken);
? ? (2)獲取微信服務器地址;
? ? (3)上傳、下載多媒體文件;
? ? (4)創(chuàng)建、顯示二維碼;
? ? (5)長鏈接轉短鏈接。
? ? 開源項目地址: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類封裝了許可令牌的相關屬性和方法。
? ? (注:OAuthAccessToken封裝了網頁授權許可令牌的相關方法。)
? ? 屬性有:
? ? access_token——令牌字符串
? ? expires_in——有效時間(單位:秒)
? ? 靜態(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 獲取微信服務器地址
? ? ServerAddresses類封裝了獲取服務器地址的屬性和方法。
? ? 屬性有:
? ? ip_list——服務器地址數組
? ? 靜態(tài)方法有:
? ? Get——獲取服務器地址
/// <summary> /// 獲取微信服務器地址 /// </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("獲取微信服務器地址失敗。{0}", errorMessage); }
3 上傳、下載多媒體文件
? ? MultiMediaHelper類封裝了多媒體文件的相關方法。
? ? 靜態(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類封裝了跟二維碼相關的屬性與方法。
? ? 屬性有:
? ? ticket——二維碼的ticket
? ? expire_seconds——二維碼的有效時間(單位:秒)
? ? url——二維碼圖片解析后的地址
? ? 靜態(tài)方法有:
? ? Create——創(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, "場景值id必須為整數。"); } 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 長鏈接轉短鏈接
? ? ShortUrl封裝了長連接轉短鏈接的方法。
? ? 靜態(tài)方法有:
? ? Get——將長鏈接轉換成短鏈接
/// <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); }
感謝您看完本文,希望對您有所幫助。
更多.net微信公眾號開發(fā)——基礎接口相關文章請關注PHP中文網!
微信是一款手機通信軟件,支持通過手機網絡發(fā)送語音短信、視頻、圖片和文字。微信可以單聊及群聊,還能根據地理位置找到附近的人,帶給大家全新的移動溝通體驗,有需要的小伙伴快來保存下載體驗吧!
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號