广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买
本文讲述微信公众号开发中基础接口的使用,包括以下内容: (1)获取许可令牌(AccessToken); (2)获取微信服务器地址; (3)上传、下载多媒体文件; (4)创建、显示二维码; (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——有效时间(单位:秒) 静态方法有: 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——服务器地址数组 静态方法有: 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类封装了多媒体文件的相关方法。 静态方法有: Upload——上传多媒体文件 Download——下载多媒体文件 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 创建、显示二维码 QrCode类封装了跟二维码相关的属性与方法。 属性有: ticket——二维码的ticket expire_seconds——二维码的有效时间(单位:秒) url——二维码图片解析后的地址 静态方法有: Create——创建二维码,不同的重载方法可以创建不同类型的二维码 GetUrl——获取二维码图片的地址
/// <summary> /// 创建二维码 /// </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封装了长连接转短链接的方法。 静态方法有: 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微信公众号开发——基础接口相关文章请关注PHP中文网!
发表评论