【5000 Stars 福利】微信接口动态 WebApi 使用说明
前言

作为中国 C# 开源项目中 Watch/Star/Fork 最高的项目之一,Senparc.Weixin SDK 凝聚了盛派微信团队持续7年的付出,和大量开发者的无私贡献,以及数万开发者的使用与反馈。为了纪念 Senparc.Weixin SDK 项目突破 5000 Stars 这个小小的里程碑,盛派微信团队为大家准备了一份特殊福利:微信接口动态 WebApi 系统(以下简称“系统”),在此系统中,您可以使用 WebApi 调用 Senparc.Weixin SDK 已经集成的微信高级接口,用于各项接口测试,或完成紧急情况下的微信功能操作。
订阅APP
为了确保安全性,此系统已经集成到 NeuChar 系统中作为 APP 进行订阅,然后进行自动授权访问,因此您需要首先打开 NeuChar 首页:https://www.neuchar.com,点击右上方【登录 NeuChar 管理中心】:

网页会跳转到 https://weixin.senparc.com 域名下进行统一登录,如果您已经注册过,可以使用微信扫描二维码登陆,如果没有,请进行注册,并在注册成功后,再次登陆 https://www.neuchar.com:

登陆成功后,进入 NeuChar 后台:

如果您是新注册用户,此时如果您点击左侧
,会看到系统已经为您添加了一个微信管理账号(也叫【NeuChar Cell 账号】),有了至少一个 NeuChar Cell,就可以进入下一步开始订阅 App。
您可以用它进行微信菜单设置等操作,希望一进步了解的朋友可以阅读《NeuChar 平台使用及开发教程 索引》,其他功能和本文无关。
点击左侧菜单
按钮,出现【应用商店】中的 APP 列表:

在【应用商店】中选择【微信 API Swagger 文档】应用:

选择需要订阅的【NeuChar Cell 账号】,点击【立即订阅】:

因为目前此 APP 限免,您不需要支付任何费用,点击【确定按钮】,完成订阅(您也可以选择多个月的订阅时间):

您会看到一个授权通知界面:

系统会为您自动跳到应用首页:

可以看到,这个站点使用了 SCF 作为模板,今后我们将以 SCF 为模板为大家献上开源的 NeuChar App Sample,大家可以在此 Sample 基础上开发类似的 NeuChar App。
本系统所使用的动态 API 核心也将在未来集成到 SCF ,开源给大家。
使用 Swagger 微信 API
点击顶部【API 文档】按钮,稍等片刻,即可看到完整的已被 Senparc.Weixin SDK 集成的接口文档,并且已经自动按照接口分类进行了分组,点击任意一个分组标签,就可以展开下面所有的接口:

为了能够使用高级接口,我们首先需要调用【CommonApi】下的 【GetToken】,以获取 AccessToken:

点击
按钮,自动出现接口参数:

注意:如果您使用的是测试号(https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index),不需要进行任何设置,如果您使用的是正式的公众号,需要在微信后台添加IP白名单:121.201.3.83。
点击【Execute】按钮,即可看到微信结果:

上图红框中已经获取到 access_token,将后面字符串中的值复制出来,以备后用。
注意:如果没有完成之前从 NeuChar 的授权登录过程,系统将拒绝服务,返回错误信息:

有了 AccessToken,我们就可以用其调用任意接口,当然,如果 AccessToken 错误,则可能返回 500 错误消息。
例如我们使用Url转短连接的接口:

可以看到接口访问成功,把 https://www.neuchar.com 转成了 https://w.url.cn/s/A8qKZEi,大家也可以测试一下。
除了单个 AccessToken 的接口,我们还可以调用多参数的接口,例如尝试一下客服接口:

如上图输入 AccessToken 以及本人的 OpenId,和想要发送的客服消息,微信客户端立即响应到了这条请求。
可能您也已经发现,Swagger 页面的右上角,有一个下拉菜单,其中提供了微信公众号、小程序、开放平台、企业号的接口筛选,且每个选项右侧标有当前系统所使用的微信模块的版本号,方便大家使用!

PS:由于安全问题,微信支付暂时未集成到系统中。
特别说明:在所有参数正确的情况下(包括 AccessToken),调用接口如果出现 500 错误,应当首先排除是否为 48001 错误,也就是没有此接口的权限,如果您确定权限无误,可以加群让管理员为您排查错误。NeuChar 和 SCF 分别有专用QQ群可以加,也欢迎进群交流相关技术:
- NeuChar 技术交流群:618605800

- SCF 技术交流群:147054579

【5000 Stars 福利】微信接口动态 WebApi 使用说明的更多相关文章
- 动态 WebApi 引擎使用教程(3行代码完成动态 WebApi 构建)
目录 什么是 WebApiEngine? 开源地址 使用方法 使用 [ApiBind] 标签让任何方法变成 WebApi 对 API 进行分类 自定义 API 名称 复制特性 为整个类配置 WebAp ...
- ABP项目中使用Swagger生成动态WebAPI
本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...
- ABP源码分析三十五:ABP中动态WebAPI原理解析
动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...
- C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理
在很多情况下,我们利用IOC控制反转可以很方便实现一些接口的适配处理,可以在需要的时候切换不同的接口实现,使用这种方式在调用的时候,只需要知道相应的接口接口,具体调用哪个实现类,可以在配置文件中动态指 ...
- ABP之动态WebAPI(一)
ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没有跨过HttpHan ...
- java微信接口之五—消息分组群发
一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_t ...
- java微信接口之四—上传素材
一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...
- java微信接口之三—上传多媒体文件
一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...
- ABP中动态WebAPI原理解析
ABP中动态WebAPI原理解析 动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类 ...
随机推荐
- js递归优化
递归优化 递归在我们平时撸码中会经常用到,不过可能很多人不知道递归的弊端,就是会导致调用栈越来越深.如果没有节制的使用递归可能会导致调用栈溢出. 那什么是递归呢? 递归调用是一种特殊的嵌套调用,是某个 ...
- python中68个内置函数的总结
内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...
- Android 通知的基本用法
一.概念 通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望像用户发送一些提示消息的时候,然而此时应用程序并不在前台运行,此时就可以借助通知来实现.发出 ...
- SpringCache自定义过期时间及自动刷新
背景前提 阅读说明(十分重要) 对于Cache和SpringCache原理不太清楚的朋友,可以看我之前写的文章:Springboot中的缓存Cache和CacheManager原理介绍 能关注Spri ...
- SpringMvc commons-fileupload图片/文件上传
简介 SpringMvc文件上传的实现,是由commons-fileupload这个jar包实现的. 需求 在修改商品页面,添加上传商品图片功能. Maven依赖包 pom.xml <!-- 文 ...
- 最强Java并发编程详解:知识点梳理,BAT面试题等
本文原创更多内容可以参考: Java 全栈知识体系.如需转载请说明原处. 知识体系系统性梳理 Java 并发之基础 A. Java进阶 - Java 并发之基础:首先全局的了解并发的知识体系,同时了解 ...
- HashMap的常见问题
关于HashMap的一些常见的问题,自己总结一下: 首选HashMap在jdk1.7和jdk1.8里面的实现是不同的,在jdk1.7中HashMap的底层实现是通过数组+链表的形式实现的,在jdk1. ...
- js原生实现链式动画效果
// 1. css样式 div { width: 100px; height: 100px; background: olivedrab; position: absolute; left: 0px; ...
- 简述c和c++的基本区别,你真的懂吗?(面试必学)
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:angry_youth **1.c和c++的头文件不同:** c的头 ...
- JavaScript 原型 prototype 使用经验
初始化一个父类,并添加方法 1function Foo(){}2Foo.prototype.sayName = function(){3 return '初始原型';4}56var foo1 = ...