前言

  作为中国 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 使用说明的更多相关文章

  1. 动态 WebApi 引擎使用教程(3行代码完成动态 WebApi 构建)

    目录 什么是 WebApiEngine? 开源地址 使用方法 使用 [ApiBind] 标签让任何方法变成 WebApi 对 API 进行分类 自定义 API 名称 复制特性 为整个类配置 WebAp ...

  2. ABP项目中使用Swagger生成动态WebAPI

    本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...

  3. ABP源码分析三十五:ABP中动态WebAPI原理解析

    动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...

  4. C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理

    在很多情况下,我们利用IOC控制反转可以很方便实现一些接口的适配处理,可以在需要的时候切换不同的接口实现,使用这种方式在调用的时候,只需要知道相应的接口接口,具体调用哪个实现类,可以在配置文件中动态指 ...

  5. ABP之动态WebAPI(一)

    ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没有跨过HttpHan ...

  6. java微信接口之五—消息分组群发

    一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_t ...

  7. java微信接口之四—上传素材

    一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...

  8. java微信接口之三—上传多媒体文件

    一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...

  9. ABP中动态WebAPI原理解析

    ABP中动态WebAPI原理解析 动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类 ...

随机推荐

  1. 主机配置静态IP

    LVS虚拟机配置网关 路径: CentOS 6: vim /etc/sysconfig/network-scripts/ifcfg-eth0 CentOS 7: vim /etc/sysconfig/ ...

  2. nginx部署安装

    首先需要下载Nginx软件包 nginx软件官方下载地址:[nginx官方下载连接](http://www.nginx.org) 建议选择稳定的软件版本,如果练习使用当然是无所谓,随便什么版本都可以, ...

  3. Docker Compose集成式应用组合及service编排

    Compose简介 Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.其代码目前在 https://github.com/docker/compose 开源.C ...

  4. 过滤器和监听器实现用户的在线登录人数,以及设置session时长。

    过滤器: package com.bjsxt.filter; import java.io.IOException; import javax.servlet.Filter; import javax ...

  5. Python文件头注释的含义,你肯定不懂

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:冰火梦幻  本文档描述了Python语言文件头里典型注释的含义. 1. ...

  6. WSL(Windows Subsystem for Linux) Ubuntu 下byobu状态栏错误的问题

    关于WSL的,Win10 的Linux子系统如何安装,就不赘述了,Win10商店里就有,至于win7和win8.1想装这个估计也不行,所以跳过. 最近处于好奇,也懒得弄VMware的虚拟机(那玩意儿占 ...

  7. Selenium 4.0 Alpha更新实践

    上期讲到了Selenium 4.0 Alpha更新日志,这次来实践一下更新内容. DevTools操作更加方便. Chrome录制更加方便.(未实践) 窗口管理不在依赖一个driver. 相对定位器功 ...

  8. Day 04 数据类型基础

    目录 什么是数据类型 为什么对数据分类 整型和浮点型统称为数字类型 整型(int) 作用 定义 使用方法 浮点型(float) 作用 定义 使用方法 强制类型转换 什么是字符串 作用 定义 使用方法 ...

  9. JS基础-原型链和继承

    创建对象的方法 字面量创建 构造函数创建 Object.create() var o1 = {name: 'value'}; var o2 = new Object({name: 'value'}); ...

  10. 剑指Offer-41.和为S的连续正数序列(C++/Java)

    题目: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就 ...