前言

  作为中国 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. VLAN实验2(配置Trunk接口)

    本实验基于<HCNA网络技术实验指南> 本实验使用eNSP软件 原理概述: 在以太网中,通过划分VLAN来隔离广播域和增强网络通信的安全性.以太网通常由 多台交换机组成,为了使VLAN的数 ...

  2. 腾讯视频缓存 tdl 转 mp4

    找到腾讯视频->设置,看下缓存文件的目录地址,然后cmd,通过命令进行转化.  copy/b *.tdl 1.mp4

  3. pikachu 暴力破解

    一 暴力破解 1.基于表单的暴力破解 先随意测试root/root登录,用Burp抓包,丢进Intruder 添加username和password两个参数变量,攻击类型选择Clusterbomb 有 ...

  4. IOS中获取各个文件的目录路径的方法和NSFileManager类

    转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...

  5. openstack网络(三)

    openstack网络架构 Neutron中的基本网络元素 插件扩展功能 ML2Modular Layer 2 plugin Neutron架构图 参考资料 openstack网络架构 Neutron ...

  6. linux 通过管道更方便的查询输入记录

    history |sort -k4|uniq -f3 -c |sort -n -k2 history:得到输入记录|sort -k4:在第4列进行排序 -k4 第4列 每一列用空格分隔|uniq -f ...

  7. unity3d WeelCollider 漂移

    物理漂移 基础控制不在说明 Forward Friction 为轮胎直线摩擦力 Sideways Friction 为侧面摩擦力 Extremum Slip为速度达到多少后产生漂移效果 Extremu ...

  8. 【React】393 深入了解React 渲染原理及性能优化

    如今的前端,框架横行,出去面试问到框架是常有的事. 我比较常用React, 这里就写了一篇 React 基础原理的内容, 面试基本上也就问这些, 分享给大家. React 是什么 React是一个专注 ...

  9. 【JS】379- 教你玩转数组 reduce

    reduce 是数组迭代器(https://jrsinclair.com/articles/2017/javascript-without-loops/)里的瑞士军刀.它强大到您可以使用它去构建大多数 ...

  10. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...