[微信公眾號]微信公眾號開發(fā)——Werobot入門指南

Werobot簡介

Werobot項(xiàng)目地址(作者:whtsky):鏈接
WeRoBot 是一個微信公眾號開發(fā)框架,采用MIT協(xié)議發(fā)布。
Werobot文檔:鏈接
我原本是打算在個人訂閱號玩一玩自定義開發(fā),因?yàn)榭梢詫?shí)現(xiàn)很多有趣的功能。
結(jié)果弄到自定義菜單的時(shí)候居然發(fā)現(xiàn):
個人訂閱號無法使用自定義菜單開發(fā)接口!需要認(rèn)證!
個人訂閱號無法使用自定義菜單開發(fā)接口!需要認(rèn)證!
個人訂閱號無法使用自定義菜單開發(fā)接口!需要認(rèn)證!
然而,個人名義的訂閱號無法進(jìn)行微信認(rèn)證,所以開發(fā)的熱情一下子丟了一半。
所以在這里就簡短的說一下入門流程,官方文檔寫的很好,但是入門上感覺寫的有不連貫的感覺,在這我就當(dāng)一個補(bǔ)充教程。

申請公眾號

申請公眾號是一個必要的步驟,沒有什么特別需要注意的地方,不過要清楚不同的公眾號類型所擁有的權(quán)限是不同的:


接口權(quán)限

獲取開發(fā)者ID

取得了公眾號后,登錄后臺,點(diǎn)擊“基本配置”,拿到開發(fā)者ID和秘鑰,底下的服務(wù)器配置需要在服務(wù)器部署后再進(jìn)行設(shè)置。

獲得ID

服務(wù)器部署

如果要進(jìn)行微信的自定義開發(fā),你需要一臺后臺服務(wù)器來接受用戶消息,處理消息,最后返回消息給用戶。
并且,你的服務(wù)器需要有域名,也就是網(wǎng)址,而非IP地址。
我的服務(wù)器是亞馬遜EC2,當(dāng)然你也可以用國內(nèi)的云服務(wù)器。
我的域名則是購買的,建議購買國外的服務(wù)商,這樣得到的域名不需要備案。

根據(jù)Werobot文檔:鏈接,你必須有部署的server,基本上云服務(wù)器的Linux都自帶了一些,所以你可以先寫代碼,運(yùn)行時(shí)候在觀察下是否可以直接部署。
server 支持以下幾種:

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

根據(jù)Werobot文檔:鏈接,先試著寫一個demo:

winscp

源代碼:

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,我使用了反向代理。
一般來說,如果你的服務(wù)器只有一個微信后臺服務(wù),請使用80端口!
如果你是https,請使用443端口!
注意到我的token是隨機(jī)自己設(shè)置的,微信規(guī)定是3位以上數(shù)字字母。之后在填寫的服務(wù)器配置上用得到。

接著,你可以運(yùn)行:

python rebot.py

如圖,已經(jīng)運(yùn)行(最好用screen或者文檔說的supervisor保證進(jìn)程不被殺掉):

demo

驗(yàn)證服務(wù)器有效性

之后,修改服務(wù)器配置,填寫你的域名(之前確保你已經(jīng)做好域名DNS映射!),token=‘yzd’,點(diǎn)擊確定,微信會自動發(fā)送一個確認(rèn)信息到你的服務(wù)器,一旦成功返回正確結(jié)果,驗(yàn)證就成功了。

服務(wù)器配置

實(shí)驗(yàn)效果

現(xiàn)在,你可以用手機(jī)給訂閱號發(fā)消息:

test

補(bǔ)充

最后,貼上我之前寫的自定義菜單的源碼,由于我是個人訂閱號,沒有權(quán)限,所以返回了48001錯誤,郁悶...

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/"
        },
    ]})

本篇文章是用markdown寫的,這是我第一次用markdown編輯器寫blog,對于半個強(qiáng)迫癥的我來說很有好處,整潔性大大增強(qiáng),以后我會盡量只用markdown。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 開發(fā)前首先我們要知道一些概念 各公眾號區(qū)別:1、訂閱號:為媒體和個人提供一種信息傳播方式,主要偏于為用戶傳達(dá)資訊(...
    CoderZS閱讀 3,525評論 1 19
  • 當(dāng)你微笑的時(shí)候,一切都像沒有發(fā)生過…… “小馬兒,你好愛笑,和你在一起真的好開心!”這是我的朋友們常常對我說的話~...
    小馬兒的修煉基地閱讀 348評論 1 1
  • 2017年1月1日 星期日 晴 打開手機(jī),看到的都是說今年有什么愿望? 我今年有三個愿望: 第一個...
    風(fēng)之壹把刀閱讀 279評論 0 1
  • 我把今天的題目改了又改,不想告訴大家一些讓孩子自動自發(fā)的技巧,很多時(shí)候,過多關(guān)注方法論的東西,會讓我們變得朝三暮四...
    樁主不會修樁閱讀 469評論 0 0
  • ”請問什么是幸福呀?”幸福就是貓吃魚,狗吃肉,奧特曼打小怪獸?!拔覇柕氖悄愕母杏X”不愁吃不愁喝“那還挺好呀”萬事勝...
    Tim在路上閱讀 223評論 0 1

友情鏈接更多精彩內(nèi)容