syoi 提交于 周四, 11/05/2020 - 15:16

如今很多网站已经接入了微信公众号,实现订阅者向微信公众号发送 关键词 微信返回网站相关内容,订阅者可直接在微信中阅读和分享内容
Drupal大神老葛贡献了drupal8可用的微信公众号模块wechat,下面介绍一下这个模块的使用方法。
模块名称:Wechat (Drupal微信模块)
模块地址:https://www.drupal.org/project/wechat
本模块采用dodge开发的PHP版本微信SDK,里面包含微信的几乎所有功能,Drupal端只需要简单调用即可。项目地址:
https://github.com/dodgepudding/wechat-php-sdk
这个项目在git官网,评价很高。
本模块里面的自定义菜单,Wechat对象的初始化,用户的认证,等等相关代码,还有使用dodge开发的PHP版本微信SDK,直接复制自yplam编写的模块,模块地址:
https://github.com/yplam/wechat
http://drupalchina.cn/node/3060
https://www.drupal.org/sandbox/yplam/2229507

Drupal微信(公众平台)接口,提供以下基本功能:
•自定义菜单管理
•微信消息(事件)钩子
•自动回复简单消息与菜单点击事件
•微信用户登录与管理
•微信的请求和响应,采用Entity API的形式。
•支持客服接口。
•语音识别
•Oauth网页授权
•生成带参数二维码
•获取用户地理位置
•获取用户基本信息
•用户分组接口
•上传下载多媒体文件
•高级群发接口

这个模块的其中一个好处,就是微信请求过来以后,直接保存为Drupal的request_message实体,这个是基于entity API的,可以与各种模块相整合。消息的不同种类,对应于Drupal中的不同的bundle。
消息的回应,将来将会由response_message完成,我们只需要构建这样的一个实体即可,前期由dodge微信SDK里面的wechat对象完成。
基本思路就是模仿symfony里面的HTTP request, HTTP response的架构,后续版本,消息的回应,将会采用这种形式:
$response_message->send();
客服回应:
$response_message->sendCustomMessage();
我们只需要在Drupal端,封装$response_message对象,封装完成后,调用它的消息相应即可。
将wechat-php-sdk里面封装的功能,逐步的封装成Drupal模块可以直接使用的形式,需要在项目中,陆续的完成。


微信公众号(订阅号)的申请方法这里就不介绍了,下面说一下wechat模块和微信公众号的配置。

1、登录微信公众平台 https://mp.weixin.qq.com,点左侧菜单“设置”中的“微信公众号设置”-“功能设置”,点“JS接口安全域名”后面的“设置”,输入要接入的网站域名。

2、点击微信公众平台 左侧菜单“开发”中的“基本配置”,获取开发者ID(AppID)、 开发者密码(AppSecret) 并配置“IP白名单”(IP白名单填写服务器的IP地址)

3、进入drupal8网站后台,点击顶部菜单“微信”-“配置”-“Config Wechat”,Token填写“weixin”,AppID和 AppSecret 分别填写上个步骤中获取的开发者ID和开发者密码。

4、回到微信公众平台 “基本设置”中编辑“服务器配置” URL填写 https://你的域名/wechat 如果网站没有用启https则填写 http://你的域名/wechat 、Token 填写和wechat模块一致 weixin、 EncodingAESKey 可点后面的“随机生成”、 消息加解密方式  选择 明文模式 后提交,提交后如下:

完成上面步骤后向微信公众号发送关键词能收到返回结果说明配置成功。

 

文章转自https://www.isfirst.net/drupal/drupal-wechat

添加新评论

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
图形验证
键入显示在图片中的字符