wechat openflatform 3rd-party service
微信开放平台第三方开放平台版SDK-主动调用接口
功能说明
微信开放平台第三方开放平台接口主动调用,以及提供应用授权接口。
安装方法
$ npm install wechat-open-service
使用方法
- 回调接口请移步: 微信公共平台企业号版(第三方企业套件)SDK-回调接口
- 对, 你没看错, 这是可以用的, 修改一下InfoType的判断就行
var { if messageInfoType == 'component_verify_ticket' //微信服务器发过来的票,每10分钟发一次 ParamConfigService; sailslog; res; else if messageInfoType == 'unauthorized' //取消授权的通知 //更新到数据库 sailslog; res; else res; ; } req res next;
前提
- 首先,你要有一个开放平台号(open.weixin.qq.com)。
- 然后,你要通过开发者认证以及申请第三方开放平台。
- 接下来才可以创建第三方平台应用,并且设置第三方平台应用。
- 基于本SDK开发具体的第三方平台应用。
用法
其中的token,encodingAESKey,suite_id可以在套件的信息配置界面获取。
var WechatOpenAPI = ; var { var self = this; SuiteConfig ;} var { var self = this; async;} var openApi = component_appidcomponent_appsecretticketget_tokensave_token;// 授权完成后跳转的URL,一般返回套件开发商自己的页面,并且获取用户授权的信息。redirect_uri = 'http://xxx.xxx.xxx/auth_callback_url'auth_url = ''; // 获取临时授权码,生成授权页面(带一个授权的按钮)openApi; // 授权后,跳转回来的URL,可以获取auth_code,然后换取authorizer_refresh_token。得到永久授权之后就能知道是哪个微信公众号appid了(authorizer_appid)。var auth_code = reqqueryauth_code;openApi;
代替授权公众号调用接口用法, 基于前面的方法获得authorizer_refresh_token后, 可以这样调用
openApi;
通过代理服务器访问
场景
对于大规模的集群部署模式,为了安全和速度,会有一些负载均衡的节点放在内网的服务器上(即负载均衡的节点与主结点通过内网连接,并且内网服务器上没有外网的IP)。这时,就需要配置代理服务器来使内网的机器可以有限度的访问外网的资源。例如:微信套件中的各种主动调用接口。
如何架设代理服务器在这里不做赘述,一般推荐使用squid 3,免费、快速、配置简单。
技术原理
由于需要访问的微信API服务器是https协议,所以普通的http代理模式不能使用。 而一般都是http协议的代理服务器。 我们要实现的就是通过http代理通道来走https的请求。
基本的步骤是2步:
- 连接到代理服务器,发送CONNECT命令,打开一个TCP连接。
- 使用上一步打开的TCP连接,发送https的请求。
实现步骤
一、下载node-tunnel 注意:npm上的版本较老,不支持node v0.10以上的版本。
二、使用 httpsOverHttp 这个agent。
三、将agent配置给urllib,通过urllib的beforeRequest这个方法。
var tunnel = ;var APICorp = ; var agent = tunnel; var apicorp = scsuite_id scsuite_secert scsuite_ticket get_token save_token; apicorp;
相关文档
License
The MIT license.
交流群
QQ群:157964097,使用疑问,开发,贡献代码请加群。
感谢
感谢以下贡献者:
project : wechat-corp-service
repo age : 10 months
active : 7 days
commits : 16
files : 13
authors :
6 Jackson Tian 37.5%
6 Nick Ma 37.5%
3 hezedu 18.8%
1 马剑 6.2%
捐赠
如果您觉得Wechat企业号版本对您有帮助,欢迎请作者一杯咖啡