前言

  作为中国 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. 基本shell脚本

    #!/bin/bash attr=() num= while true do read -p ">>input:" name attr[$num]=$name echo ...

  2. ajax加载引起瀑布流布局堆叠

    jQuery 瀑布流使用ajax加载数据库图片url ,ajax每次请求到的数据不变时,瀑布流效果没问题. 但当请求到的数据变化时,瀑布流图片格式会重叠 或者相隔很远等等的格式问题,这是由于图片加载是 ...

  3. 《吊打面试官》系列-HashMap

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 上已经收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Sta ...

  4. ubuntu下仅仅获取网卡一的ip地址 && shell中字符串拼接

    问题描述: ubuntu下仅仅获取网卡一的ip地址 问题背景: eth0,eth1,eth2……代表网卡一,网卡二,网卡三…… lo代表127.0.0.1,即localhost | 问题描述: 已知字 ...

  5. CF595 Div31249A,1249B1,1249B2,1249C1,1249C2,1249D1,1249D2,1249E,1249F)题解

    A:水题,先排序,有相连的输出2,否则输出1. #include<bits/stdc++.h> using namespace std; #define pii pair<int,i ...

  6. HDU1846 Brave Game(巴什博弈)

    十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻. 今天,大家选择 ...

  7. CoderForces985F-Isomorphic Strings

    F. Isomorphic Strings time limit per test 3 seconds memory limit per test 256 megabytes input standa ...

  8. ef not in

    //not in linq var xx=(from c in measStateDetail where !((from d in breakInstr select d.InstrCode).Co ...

  9. Everspin非易失性MRAM切换技术

    切换MRAM技术 切换MRAM使用1个晶体管,1个MTJ单元来提供简单的高密度存储器.Everspin使用获得专利的Toggle电池设计,可提供高可靠性.数据在温度下20年始终是非易失性的. 在读取期 ...

  10. 【系列专题】JavaScript 重温系列(22篇全)

    JavaScript 初级篇 [JS]120-重温基础:语法和数据类型 [JS]121-重温基础:流程控制和错误处理 [JS]122-重温基础:循环和迭代 [JS]123-重温基础:函数 [JS]12 ...