0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python開發(fā)微信公眾號(hào)教程來了

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:李倩 ? 2018-05-10 17:13 ? 次閱讀

今天看到篇教程,是用python開發(fā)微信公眾號(hào)的,覺得有意思,就敲代碼實(shí)現(xiàn)了一下,成功后更覺得好玩,故記錄,方便開發(fā)深入時(shí)使用。

基礎(chǔ)背景介紹

首先得有個(gè)人微信號(hào)(沒有自行注冊),為方便測試學(xué)習(xí);

其次,還要注冊微信公眾號(hào),微信公眾號(hào)不止一種,是分多種的,具體詳情見官方說明,但僅測試學(xué)習(xí)時(shí)可先不注冊公眾號(hào),(需要用個(gè)人微信號(hào)掃描登陸測試公眾平臺(tái))利用微信提供的測試平臺(tái)接口即可:

微信公眾號(hào)說明:http://kf.qq.com/faq/120911VrYVrA130805byM32u.html

微信公眾號(hào)注冊站點(diǎn):https://mp.weixin.qq.com/

免費(fèi)測試公眾平臺(tái):https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

微信開發(fā)者文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

正文開始

說明:最好使用公網(wǎng)ip主機(jī)和備案的域名進(jìn)行測試,本文測試使用的阿里云主機(jī)有公網(wǎng)ip,域名備案遇到坑了,買了域名無法在北京阿里云上備案,所以沒有使用域名。

接入微信公眾平臺(tái)

其實(shí),微信api接口使用,這里主要是參考官網(wǎng)的說明部署的,步驟有點(diǎn)像曾經(jīng)寫過的一篇用zabbix實(shí)現(xiàn)微信報(bào)警的配置;想玩好了,除了要對使用的哪種語言本身熟悉,還要就是熟讀微信的api接口文檔了。

第一步:填寫服務(wù)器配置nxinx

掃描登陸免費(fèi)的微信測試平臺(tái),填寫接口配置信息:

注意:微信公眾號(hào)接口只支持80端口。所以,在填寫url時(shí)我是在阿里云上用nginx做的一個(gè)web服務(wù)。

阿里云主機(jī)上的nginx主要部分配置如下:

第二步:驗(yàn)證消息的確來自微信服務(wù)器(即驗(yàn)證服務(wù)器地址的有效性):

開發(fā)者提交信息后,微信服務(wù)器將發(fā)送GET請求到填寫的服務(wù)器地址url上,GET請求攜帶4個(gè)參數(shù):

1. signature:微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù);2.timestamp:時(shí)間戳;3.nonce:隨機(jī)數(shù);4.echostr:隨即字符串;

開發(fā)者通過檢驗(yàn)signature對請求進(jìn)行校驗(yàn),若確認(rèn)此處get請求來自微信服務(wù)器,請?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失??;

阿里云主機(jī)上編寫python代碼,(以tonado框架為例)實(shí)現(xiàn)驗(yàn)證:

運(yùn)行代碼:

python wechat.py

然后,回到微信開發(fā)平臺(tái),在填寫完接口配置信息后,點(diǎn)擊提交;一切正常,提交后會(huì)顯示配置成功;

下面,就可以根據(jù)個(gè)人用戶關(guān)注開發(fā)的公眾號(hào)所要實(shí)現(xiàn)哪些需求和微信的api文檔開發(fā)相關(guān)功能了。

示例一:簡單文本信息

個(gè)人用戶關(guān)注公眾號(hào)后,用戶輸入字符串,公眾號(hào)回顯什么字符串;

具體還要參考微信api文檔:消息管理部分

python代碼:

運(yùn)行代碼:

python wechat.py

然后,在微信公眾平臺(tái)上,找到測試號(hào)二維碼,掃描關(guān)注后,首次關(guān)注時(shí),手機(jī)微信客戶端就會(huì)收到自動(dòng)推送的信息,即顯示i like python。

然后,客戶端發(fā)送字符串測試回顯功能:

手機(jī)關(guān)注公眾號(hào)后,打開對話框,隨意輸入字符,回顯相同內(nèi)容,則表示測試成功(僅實(shí)現(xiàn)文本的回顯,因?yàn)槲⑿艑τ诓煌愋偷男畔?,有不同的配置要求,如要接收或發(fā)送圖片、音頻、視頻等)。

示例二:微信自帶的圖片消息收發(fā)

實(shí)現(xiàn)能發(fā)送或接收圖片信息,則修改部分代碼,其它部分不變

運(yùn)行后,再回到手機(jī)微信客戶端,發(fā)送笑臉圖片等,測試回顯相同的圖片即成功。

示例三:掃描公眾號(hào)內(nèi)部生成的帶參數(shù)的二維碼

說明: 此代碼需要在本地虛擬機(jī)上和阿里云主機(jī)上同時(shí)運(yùn)行,進(jìn)行相關(guān)測試; 本地運(yùn)行后,在本地瀏覽器訪問,(目的是為了生成二維碼): http://192.168.1.250:8000/qrcode?sid=8000

然后,會(huì)生成二維碼,這時(shí)再用微信掃描改二維碼:

手機(jī)微信掃描上面的二維碼后,會(huì)顯示:您掃描是的8000。

這就簡單實(shí)現(xiàn)了掃描帶參數(shù)的二維碼后,可自定義深入的開發(fā);如根據(jù),把參數(shù)定義成不同的內(nèi)容,根據(jù)二維碼參數(shù),來識(shí)別出不同的內(nèi)容,等等。

更多深入功能還不會(huì),用時(shí)再借鑒吧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4825

    瀏覽量

    86381
  • 微信
    +關(guān)注

    關(guān)注

    6

    文章

    512

    瀏覽量

    27233

原文標(biāo)題:用 Python 進(jìn)行微信公眾號(hào)開發(fā)

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    OCR公眾號(hào)實(shí)現(xiàn)一號(hào)識(shí)別

    公眾賬號(hào)試水商業(yè)化的消息近日引爆自媒體圈。廈門云脈公司把多年對OCR各種產(chǎn)品的研究成果集成于云脈OCR
    發(fā)表于 09-09 18:11

    Uber公眾號(hào)被封 大喊冤枉

    昨天騰訊對Uber公眾號(hào)違規(guī)而進(jìn)行了嚴(yán)厲的處罰。12月8日消息,針對Uber中國
    發(fā)表于 12-08 17:12

    【Nanopi2試用體驗(yàn)】Nanopi2+Python 打造公眾號(hào)開發(fā)——問題解決一申請測試號(hào)

    `【Nanopi2試用體驗(yàn)】Nanopi2+Python 打造公眾號(hào)開發(fā)https://bb
    發(fā)表于 01-16 13:59

    綁定自己的公眾號(hào)要重新燒APPkey和UID

    [color=#***]前兩天在開發(fā)快的官網(wǎng)買了板子,打算連自己的公眾號(hào),結(jié)果弄死也配置不成功,搗鼓半天,問客服才知道,如果要連自己的
    發(fā)表于 04-21 10:55

    敬請關(guān)注成都英創(chuàng)公眾號(hào)

      為了讓客戶更方便快捷地獲取英創(chuàng)公司的研發(fā)動(dòng)態(tài)和產(chǎn)品信息,英創(chuàng)公司對公眾號(hào)進(jìn)行了一次修改和內(nèi)容擴(kuò)充。此外,今后英創(chuàng)的最新產(chǎn)品和技術(shù)信息將通過官網(wǎng)和
    發(fā)表于 09-29 10:46

    新能力 | 簡單3步,讓你的公眾號(hào)能聽會(huì)說

    的接入,只需要公眾號(hào)運(yùn)營者或開發(fā)者掃碼即可完成。只需三步,即可讓公眾號(hào)具有智能語音對話功能:第一步:注冊科大訊飛AIUI
    發(fā)表于 07-16 09:52

    支付V3公眾號(hào)支付PHP教程SSDK的使用

    支付V3公眾號(hào)支付PHP教程(thinkPHP5公眾
    發(fā)表于 05-18 15:12

    如何開發(fā)小說平臺(tái)源碼公眾號(hào)小說分銷系統(tǒng)源碼開發(fā)

    如何開發(fā)小說平臺(tái)源碼公眾號(hào)小說分銷系統(tǒng)源碼
    發(fā)表于 01-12 09:28 ?1434次閱讀

    什么是小說分銷系統(tǒng)開發(fā)公眾號(hào)小說平臺(tái)源碼搭建

    什么是小說分銷系統(tǒng)開發(fā)公眾號(hào)小說平臺(tái)源碼搭建
    發(fā)表于 01-15 09:23 ?1185次閱讀

    什么是小說分銷系統(tǒng)開發(fā)公眾號(hào)小說平臺(tái)源碼搭建

    什么是小說分銷系統(tǒng)開發(fā)公眾號(hào)小說平臺(tái)源碼搭建
    發(fā)表于 01-23 08:41 ?837次閱讀

    崩了 公眾號(hào)文章已無法打開

    12月26日消息,不少網(wǎng)友博反映公眾號(hào)文章無法打開。
    的頭像 發(fā)表于 12-26 17:31 ?4219次閱讀

    小程序和公眾號(hào)與APP有什么區(qū)別

    公眾號(hào)和小程序都是基于平臺(tái)來使用的,而自帶的十幾億流量也是導(dǎo)流到小程序和
    的頭像 發(fā)表于 01-04 11:59 ?4300次閱讀

    YOOSEN 煜晨科技:如何深度運(yùn)營公眾號(hào)

    應(yīng)該如何運(yùn)營,企業(yè)又該如何利用好這個(gè)營銷利器?首先,我們要了解到,
    的頭像 發(fā)表于 06-19 14:48 ?1983次閱讀
    YOOSEN 煜晨科技:如何深度運(yùn)營<b class='flag-5'>微</b><b class='flag-5'>信</b><b class='flag-5'>公眾</b><b class='flag-5'>號(hào)</b>?

    公眾號(hào)硬件開發(fā)雜談

    最近幫朋友研究一個(gè)單片機(jī)的項(xiàng)目,簡單接觸了一下公眾號(hào)的硬件平臺(tái),遇到很多問題,簡單記錄一下該怎么連接準(zhǔn)備工作首先不管用什么接口,做硬件和軟件的交互一般還是先想著怎么去做一個(gè)基礎(chǔ)的連
    發(fā)表于 12-22 18:49 ?7次下載
    <b class='flag-5'>微</b><b class='flag-5'>信</b><b class='flag-5'>公眾</b><b class='flag-5'>號(hào)</b>硬件<b class='flag-5'>開發(fā)</b>雜談

    可A9G開發(fā)板上報(bào)GPS定位數(shù)據(jù)實(shí)現(xiàn)公眾號(hào)定位顯示

    得到的經(jīng)緯度等數(shù)據(jù)上報(bào)至服務(wù)器,然后在公眾號(hào)上可以顯示定位。 01 準(zhǔn)備工作 硬件準(zhǔn)備 ●A9G開發(fā)板 ●GSM天線 ●GPS天線 ●S
    的頭像 發(fā)表于 03-21 11:26 ?902次閱讀
    安<b class='flag-5'>信</b>可A9G<b class='flag-5'>開發(fā)</b>板上報(bào)GPS定位數(shù)據(jù)實(shí)現(xiàn)<b class='flag-5'>微</b><b class='flag-5'>信</b><b class='flag-5'>公眾</b><b class='flag-5'>號(hào)</b>定位顯示

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品