? ????? ??? ???? WeChat ?? ?? ?? ? ?? ????? ??? ?? ?????.
(1) ?? ??(AccessToken)? ????.
(2) WeChat ?? ??? ????. ??> (3) ????? ?? ??? ? ????
(4) QR ?? ?? ? ??
(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
?? ??? ??? ????. :
AccessToken ???? ?? ??? ?? ??? ???? ??????.
(??: OAuthAccessToken? ? ??? ?? ??? ?? ???? ??????.)
??? ??? ????.
access_token - ?? ???
??_in - ?? ??(??: ?)
?? ???? ??? ????.
????——?? ?? ????
/// <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 WeChat ?? ?? ????
ServerAddresses ???? ?? ??? ???? ?? ??? ???? ??????.
??? ??? ????:
ip_list - ?? ?? ??
?? ???? ??? ????:
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 ????? ?? ??? ? ????
MultiMediaHelper ??? ??? ?? ??? ????? ???.
?? ??? ??? ????.
??? - ????? ?? ???
???? - ????? ?? ????
GetDownloadUrl - ????? ?? ?? ????
GetVideoMediaId - ?? ????? ??? ??? 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 QR ?? ?? ? ??
QrCode ???? QR ??? ??? ??? ???? ??????.
??? ??? ????.
ticket - QR ??? ??
??_? - QR ??? ?? ??(??: ?)
url - QR ?? ???? ??? ?? ??
?? ??? ??? ????.
??——QR ?? ??. ??? ???? ???? ??? ??? QR ??? ??? ? ????.
GetUrl——QR ?? ???? ?? ????
/// <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 ? ?? ?? ?? ??? ShortUrl? ? ??? ?? ??? ???? ??? ?????.
?? ??? ??? ????.
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 WeChat ?? ?? ?? - ?? ????? ?? ??? ??? PHP ??? ????? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)