前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微信公众号】微信公众号开发——Werobot入门指南

【微信公众号】微信公众号开发——Werobot入门指南

作者头像
蛮三刀酱
发布2019-09-10 20:07:55
21.8K2
发布2019-09-10 20:07:55
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qqxx6661/article/details/70254214

本文目录


文章目录
  • Werobot简介
  • 申请公众号
  • 获取开发者ID
  • 服务器部署
  • 验证服务器有效性
  • 实验效果
  • 补充

Werobot简介

Werobot项目地址(作者:whtsky):链接 WeRoBot 是一个微信公众号开发框架,采用MIT协议发布。 Werobot文档:链接 我原本是打算在个人订阅号玩一玩自定义开发,因为可以实现很多有趣的功能。 结果弄到自定义菜单的时候居然发现: 个人订阅号无法使用自定义菜单开发接口!需要认证! 个人订阅号无法使用自定义菜单开发接口!需要认证! 个人订阅号无法使用自定义菜单开发接口!需要认证! 然而,个人名义的订阅号无法进行微信认证,所以开发的热情一下子丢了一半。 所以在这里就简短的说一下入门流程,官方文档写的很好,但是入门上感觉写的有不连贯的感觉,在这我就当一个补充教程。

申请公众号

申请公众号是一个必要的步骤,没有什么特别需要注意的地方,不过要清楚不同的公众号类型所拥有的权限是不同的:

接口权限
接口权限

获取开发者ID

取得了公众号后,登录后台,点击“基本配置”,拿到开发者ID和秘钥,底下的服务器配置需要在服务器部署后再进行设置。

获得ID
获得ID

服务器部署

如果要进行微信的自定义开发,你需要一台后台服务器来接受用户消息,处理消息,最后返回消息给用户。 并且,你的服务器需要有域名,也就是网址,而非IP地址。 我的服务器是亚马逊EC2,当然你也可以用国内的云服务器。 我的域名则是购买的,建议购买国外的服务商,这样得到的域名不需要备案。

根据Werobot文档:链接,你必须有部署的server,基本上云服务器的Linux都自带了一些,所以你可以先写代码,运行时候在观察下是否可以直接部署。 server 支持以下几种:

  • cgi
  • flup
  • wsgiref
  • waitress
  • cherrypy
  • paste
  • fapws3
  • tornado
  • gae
  • twisted
  • diesel
  • meinheld
  • gunicorn
  • eventlet
  • gevent
  • rocket
  • bjoern
  • auto

根据Werobot文档:链接,先试着写一个demo:

winscp
winscp

源代码:

代码语言:javascript
复制
import werobot

robot = werobot.WeRoBot(token='yzd')

@robot.handler
def echo(message):
    return 'Hello World!'

robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 8082

robot.run()

注意我用的port是8082,我使用了反向代理。 一般来说,如果你的服务器只有一个微信后台服务,请使用80端口! 如果你是https,请使用443端口! 注意到我的token是随机自己设置的,微信规定是3位以上数字字母。之后在填写的服务器配置上用得到。

接着,你可以运行:

代码语言:javascript
复制
python rebot.py

如图,已经运行(最好用screen或者文档说的supervisor保证进程不被杀掉):

demo
demo

验证服务器有效性

之后,修改服务器配置,填写你的域名(之前确保你已经做好域名DNS映射!),token=‘yzd’,点击确定,微信会自动发送一个确认信息到你的服务器,一旦成功返回正确结果,验证就成功了。

服务器配置
服务器配置

实验效果

现在,你可以用手机给订阅号发消息:

test
test

补充

最后,贴上我之前写的自定义菜单的源码,由于我是个人订阅号,没有权限,所以返回了48001错误,郁闷…

代码语言:javascript
复制
from werobot import WeRoBot

robot = WeRoBot()
robot.config["APP_ID"] = "xxxxxxxxxx"
robot.config["APP_SECRET"] = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
client = robot.client
client.create_menu({
    "button":[
        {
            "type":"click",
            "name":"des",
            "key":"describe"
        },
        {
            "name":"find",
            "sub_button":[
                {
                    "type":"view",
                    "name":"twitter",
                    "key":"trump"
                }
            ]
        },
        {
            "type":"viwe",
            "name":"buy",
            "url":"https://usau-buy.com/"
        },
    ]})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年04月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • Werobot简介
  • 申请公众号
  • 获取开发者ID
  • 服务器部署
  • 验证服务器有效性
  • 实验效果
  • 补充
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档