作者:王先荣
    本文讲述微信公众号开发中基础接口的使用,包括以下内容:
    (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();}elsetxtServerAddress.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);elsehlShowMultiMedia.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);elseerrorMessage = new ErrorMessage(ErrorMessage.ExceptionCode, "场景值id必须为整数。");}else{int sceneId;if (int.TryParse(strSceneId, out sceneId))qrcode = QrCode.Create(userName, sceneId, out errorMessage);elseqrcode = QrCode.Create(userName, strSceneId, out errorMessage);}if (errorMessage.IsSuccess && qrcode != null)imgQrCode.ImageUrl = QrCode.GetUrl(qrcode.ticket);elseimgQrCode.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;elsetxtShortUrl.Text = string.Format("获取短链接失败。{0}", errorMessage);}

长链接转短链接的示例

感谢您看完本文,希望对您有所帮助。

.net微信公众号开发——基础接口相关推荐

  1. 如何解决微信公众号开发转发接口,分享出去是链接不是卡片

    微信公众号已配置完域名且已完成微信认证.appid也准确无误,转发接口也是没有任何问题,但是分享出去后是链接不是卡片 原因 因为这是微信开放全域名访问后出现的限制 解决方案 1.将链接添加至公众号的自 ...

  2. 微信公众号开发---基础消息能力开发

    微信公众号接收普通消息 1.配置开发服务器 微信公众平台->开发->开发者工具->公众平台测试账号 appid:是微信公众号的唯一标识,通过和appsecret进行验证. URL:开 ...

  3. 微信公众号开发——基础认识

    (一)认识 1. 企业号.服务号.订阅号区别 首先订阅号和服务号的区分,订阅号关注后悔收缩到[订阅号消息]中,而服务号放在和聊天记录同层的界面中,下图中订阅号消息中都是订阅号,而其他的几个标记的都是服 ...

  4. 微信公众号开发-php-sdk接口

    <?php/*** 微信公众平台PHP-SDK, 官方API部分* @author dodge <dodgepudding@gmail.com>* @link https://git ...

  5. 微信 - 公众号开发基础配置

    账号内配置 获取openid等功能只能是企业认证的账号可以获取,个人账户没有权限 基本配置 查看AppID和AppSecret,测试过程中还需要配置IP白名单. 功能设置,设置域名授权 配置授权域名, ...

  6. 微信公众号开发之接口信息配置

    接口信息配置就是配置这个地方. Token是随便填的,但是要跟下述的check函数中的token一样. 简述我对这个过程的了解,如有不对,欢迎斧正. URL:就是机器的地址加工程名加文件名. 过程:( ...

  7. 微信公众号开发(二)基础接口

    微信公众号开发(二)基础接口 未经认证的订阅号只有基础接口的权限,基础接口主要包括三个部分:接收用户消息.发送被动响应消息和接收事件推送消息,开发者需要对用户消息在5秒内立即做出回应,微信服务器在五秒 ...

  8. 微信公众号开发(一)服务器及接口的配置

    微信公众号开发(一)服务器及接口的配置 关于微信公众号中的订阅号和服务的区别这里不多加讨论,网上有很多资源可以搜到,这里直接进入正题,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比 ...

  9. 微信公众号开发接口语音下载解决方案

    需求:利用微信公众号开发接口下载语音,展示并可以收听语音 1.利用微信公众平台开发接口下载语音文件至本机 /*** 下载多媒体文件* @param string $mediaId* @return s ...

最新文章

  1. mysql,mairadb启动脚本
  2. 缓存核心知识小抄,面试必备,赶紧收藏!
  3. python学习费用-python学习,是看免费视频自学,还是报个收费班学习好?
  4. 转载 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛? (手机游戏)...
  5. AXI-IIC官方示例解析
  6. Ubuntu 14.04,root the Nexus 7 (2013).
  7. 【Android-NCNN-Vulkan】ncnn-vulkan load param model 速度慢
  8. LeetCode 861. 翻转矩阵后的得分(贪心)
  9. 液晶显示器的台式计算机耗电,电脑的显示器一开一关耗电量大么 注意 是显示器的开关...
  10. android通知背景色,android – 更改通知RemoteViews背景颜色
  11. 【汇编优化】之arm32汇编优化
  12. macOS U盘烧录Linux iso镜像
  13. windows7 配置iis技巧
  14. 【优化算法】亨利气体溶解度优化算法(HGSO)【含Matlab源码 127期】
  15. SQL Server生成含有数据的脚本文件
  16. 去水印小程序源码,全新界面无加密,平台支持微信小程序和QQ小程序。支持解析抖音、快手、皮皮虾和微视等平台。带PHP下载接口。支持微信QQ流量主
  17. MySQL Audit 审计
  18. PHP微信扫码关注公众号并授权登录源码
  19. 降噪效果好的蓝牙耳机该怎么选?盘点四款高品质降噪蓝牙耳机
  20. 京东数据分析软件 | 如何获取京东平台的“增长榜单”

热门文章

  1. rust 睡袋怎么用_婴儿晚上用睡袋好吗?带过娃的告诉你正确答案!
  2. 微信小程序 - 按照官网文档构建npm包 - 提示【没有找到可以构建的npm】
  3. 假装windows系统升级界面html源码
  4. SVG 入门教程系列列表
  5. jQuery:无限循环两个或者多个事件 click / toggle between two functions
  6. Moodle: Remove customise this page button from profile?
  7. xml 中插入html代码
  8. 逐帧动画与人运动动画制作
  9. 轻量级的 JavaScript 弹出框脚本:TinyBox
  10. ACM模式数组构建二叉树