最近看到伯樂在線上有寫配置微信后臺的東西瓶摆,用了不錯的框架凉逛,看評論感覺沒有講怎么配置到云端有點可惜。
剛好五一我給人寫了一個SAE后臺(MyPlatform)群井,他給我的要求是文章列表状飞、自動回復。
我順帶還錄了個配置視頻給他书斜,可謂二十分鐘零基礎配置诬辈。
利用一下這個項目,我寫了這篇文章荐吉,來介紹一下SAE上Python搭建的微信個人公眾號后臺的配置焙糟,希望能有所幫助。
閱讀建議
如果你想要搭建一個公眾號或者想要擴展自己的公眾號样屠,可以只閱讀“基于MyPlatform搭建后臺”一節(jié)穿撮。
如果你想要了解SAE與Python的配合,可以順序閱讀痪欲。
如果你只是在SAE與Python的配合中遇到了一些難點悦穿,可以直接閱讀“SAE配置入門”一節(jié)。
成果展示
完成配置以后的微信個人公眾號會是這個樣子业踢。(本號不更新栗柒,僅作演示用途,看完請取關)
這是公眾號的互通演示以及文章列表的展示知举。
基于MyPlatform搭建后臺
本部分教程基于我寫給朋友的MyPlatform項目瞬沦。
完成本部分可以獲得成果展示中同樣功能的一個公眾號以及對配置的基本了解太伊。
這里提供本部分的視頻教程(v.youku.com/v_show/id_XMTU1NjA0NDIwMA==),建議將文字與視頻對照著看逛钻。
準備工作
- 實名認證過的SAE賬號(實名認證需要一些時間僚焦,雖然運氣好的話幾小時就好)
- 微信公眾平臺個人賬號(其他類型其實也可以啦)
- 圖靈機器人API Key,圖靈官網(wǎng)獲刃宓摹(如果沒有也沒關系叠赐,空著就好,只影響自動回復)
- 確保命令行能夠運行
python
及git
屡江。(python版本為2.7)
本項目需要配置三樣東西芭概,按照順序先后為:新浪SAE,微信公眾平臺惩嘉,本地文件
新浪SAE
再次提醒罢洲,配置該項目需要SAE實名認證。
下面假設你已經(jīng)擁有了一個實名認證的SAE賬號并完成了登陸文黎。
首先惹苗,我們需要創(chuàng)建一個應用(這一步在控制臺操作即可)
創(chuàng)建一個應用
配置應用,自定義域名并選擇Python 2.7作為運行環(huán)境
選擇Git作為代碼同步工具
完成配置后獲得倉庫地址
將該倉庫git clone
到本地耸峭,按要求輸入SAE用戶名及安全密碼(注意不是登錄密碼)桩蓉,你會得到一個目錄(后文稱項目目錄)
git clone 倉庫地址(換成自己的倉庫地址)
到了這一步,新浪SAE的配置就完成了劳闹。
微信公眾平臺
登陸并進入微信公眾平臺后臺
進入開發(fā)者基本配置
獲取AppId(應用ID)和AppSecret(應用密匙)院究,這兩項之后會用到,建議拿記事本記一下本涕。
之后點擊服務器配置右邊的修改配置业汰,將URL,Token菩颖,EncodingAESKey填寫完成并選擇明文模式(不要點提交)
Token可以隨意填寫样漆,只要滿足要求(之后會用到,記一下)晦闰。EncodingAESKey隨機生成即可放祟。URL即SAE應用域名地址,可以在SAE控制臺點進應用后找到呻右。
將網(wǎng)頁放著不要關閉即可舞竿,不用點擊提交。
到了這一步窿冯,微信公眾平臺基本就完成了配置。(還剩下確認要等本地文件完成后再做)
本地文件
你首先需要使用pip安裝一個依賴包确徙,在命令行運行該命令即可:(如果顯示沒有pip醒串,可以百度一下"Python 安裝pip")
pip install requests
之后你需要把本項目下載到本地执桌,你可以選擇下載壓縮包或者通過命令安裝:
git clone https://github.com/littlecodersh/MyPlatform.git
把下載下來的東西(如果是壓縮包則解壓縮好)拖到項目目錄(上文提到過)中,項目目錄中應基本(我會更新)如下所示:
運行項目目錄中的update.py
(其實雙擊運行也可以)芜赌,選擇update config仰挣,根據(jù)提示輸入內容
- TOKEN即微信公眾平臺一節(jié)中提到的Token
- APP_ID與SECRET_KEY對應微信公眾平臺一節(jié)中提到的AppId與AppSecret
- TULING_KEY對應文首提到的Tuling key
下面我們把需要展示的文章進行設置(之后的設置方法也是這樣)
進入articles文件夾,按照欄目名創(chuàng)建txt文件缠沈,默認即兩個欄目:測試膘壶、工具集
每個txt文件中放置微信文章的網(wǎng)址(裝一個PC微信,手機將文章發(fā)給文件傳輸助手洲愤,復制鏈接地址即可)颓芭,這個地址其實可以做一些刪減,瀏覽器能瀏覽即可
txt文件中靠下的網(wǎng)址將靠上展示(為了方便每次更新網(wǎng)址)
之后運行update.py
柬赐,選擇update articles亡问,如果沒有出現(xiàn)Articles update succeeded
則修改顯示出的網(wǎng)址
python update.py
然后將項目上傳即可,還是運行update.py
肛宋,選擇upload to server州藕,在彈出的窗口中按照提示輸入賬號、安全密碼(不是登錄密碼)即可上傳成功酝陈。
至此床玻,我們的本地文件已經(jīng)全部配置完成了。
開啟后臺
我們將微信公眾平臺一節(jié)中沒有點的提交點掉(如果失敗請檢查你的config.py
使用記事本打開后內容是否正確沉帮,是否能訪問上文提到過的SAE應用地址)
如果失敗且無法修復锈死,可以嘗試郵件聯(lián)系我,聯(lián)系方式可以在我的主頁找到遇西。
點擊服務器配置右邊的啟用馅精,你的微信平臺就可以使用了!
嘗試回復你的微信平臺“幫助”試試看呀粱檀。
之后的配置
到這里你的微信個人公眾號已經(jīng)可以使用了洲敢,那么之后怎么添加文章呢?
很簡單茄蚯,在articles
中通過新建一個命名為欄目名的文本文件創(chuàng)建新的欄目压彭,在文本文件底部粘貼微信文章的網(wǎng)址來添加文章。
之后上傳即可渗常,上傳也就是運行update.py
后選擇upload to server壮不,在彈出的窗口中按照提示輸入賬號、安全密碼(不是登錄密碼)即可皱碘。
搭建就這樣結束了询一,就是這么簡單:)
SAE配置入門
這一部分將以問題為導向簡單介紹SAE的配置。
項目的基本配置
使用新浪SAE其實和本地只用Python文件運行你的項目非常類似。區(qū)別僅在于本地通過某個Python文件啟動項目健蕊,而SAE上通過index.wsgi
告訴服務器怎么啟動項目菱阵。
這一點很容易理解,就拿一個flask項目為例好了缩功,一般來說我們本地啟動的時候最簡單的方式是這樣的代碼:
from flask import Flask
app = Flask(__name__)
app.run()
那么相對應的SAE中要上傳的根目錄下的index.wsgi
就這樣寫:
import sae
from flask import Flask
app = Flask(__name__)
application = sae.create_wsgi_app(app)
是不是基本類似晴及?Django稍復雜一些,但原理還是類似的嫡锌。一般還會有一個配置文件:
name: myproject
version: 1
使用第三方包
你只需要將需要的包下載到某個文件夾中然后告訴SAE第三方包在那里即可虑稼。
例如我們以在根目錄下的vendor
目錄中下載requests包為例:
mkdir vendor
pip install -t vendor requests
然后通過在index.wsgi
的最開始增加這些代碼,告訴SAE第三方包安裝的位置就可以了势木。
import sae
sae.add_vendor_dir('vendor')
css等文件的加載
如果你的SAE用到了這些文件蛛倦,你會發(fā)現(xiàn)本地雖然能夠運行成功,但是SAE上卻無法加載跟压。
其實就是地址發(fā)生了變化胰蝠,我們告訴SAE這些東西怎么找就可以了。
例如我的css和js文件放在了app/static/
文件夾下面震蒋,那么我們就在config.yaml
中加入這些配置:
- url: /static
static_dir: app/static
項目的上傳
SAE上項目的上傳和普通的使用git上傳項目類似茸塞,只是分支名會有小小的變化。
一般而言如下命令即可完成上傳:
git add --all .
git commit -m "Update"
git push origin master:1
所以如果處于自動化考慮查剖,Windows下可以寫一個這樣的批處理文件:
git add --all .
git commit -m "%date%%time%"
git push origin master:1
pause
結語
如果我的項目有意思想要關注我的更新钾虐,歡迎在Github上Follow我(littlecodersh)或者Star我的項目。
如果有什么問題或者建議笋庄,也歡迎郵件或者提出Issue與我交流效扫。
LittleCoder
160503