最近看到伯樂在線上有寫配置微信后臺的東西,用了不錯的框架,看評論感覺沒有講怎么配置到云端有點可惜。
剛好五一我給人寫了一個SAE后臺(MyPlatform),他給我的要求是文章列表、自動回復。
我順帶還錄了個配置視頻給他,可謂二十分鐘零基礎配置。
利用一下這個項目,我寫了這篇文章,來介紹一下SAE上Python搭建的微信個人公眾號后臺的配置,希望能有所幫助。
閱讀建議
如果你想要搭建一個公眾號或者想要擴展自己的公眾號,可以只閱讀“基于MyPlatform搭建后臺”一節。
如果你想要了解SAE與Python的配合,可以順序閱讀。
如果你只是在SAE與Python的配合中遇到了一些難點,可以直接閱讀“SAE配置入門”一節。
成果展示
完成配置以后的微信個人公眾號會是這個樣子。(本號不更新,僅作演示用途,看完請取關)
這是公眾號的互通演示以及文章列表的展示。
基于MyPlatform搭建后臺
本部分教程基于我寫給朋友的MyPlatform項目。
完成本部分可以獲得成果展示中同樣功能的一個公眾號以及對配置的基本了解。
這里提供本部分的視頻教程(v.youku.com/v_show/id_XMTU1NjA0NDIwMA==),建議將文字與視頻對照著看。
準備工作
- 實名認證過的SAE賬號(實名認證需要一些時間,雖然運氣好的話幾小時就好)
- 微信公眾平臺個人賬號(其他類型其實也可以啦)
- 圖靈機器人API Key,圖靈官網獲取(如果沒有也沒關系,空著就好,只影響自動回復)
- 確保命令行能夠運行
python
及git
。(python版本為2.7)
本項目需要配置三樣東西,按照順序先后為:新浪SAE,微信公眾平臺,本地文件
新浪SAE
再次提醒,配置該項目需要SAE實名認證。
下面假設你已經擁有了一個實名認證的SAE賬號并完成了登陸。
首先,我們需要創建一個應用(這一步在控制臺操作即可)
創建一個應用
配置應用,自定義域名并選擇Python 2.7作為運行環境
選擇Git作為代碼同步工具
完成配置后獲得倉庫地址
將該倉庫git clone
到本地,按要求輸入SAE用戶名及安全密碼(注意不是登錄密碼),你會得到一個目錄(后文稱項目目錄)
git clone 倉庫地址(換成自己的倉庫地址)
到了這一步,新浪SAE的配置就完成了。
微信公眾平臺
登陸并進入微信公眾平臺后臺
進入開發者基本配置
獲取AppId(應用ID)和AppSecret(應用密匙),這兩項之后會用到,建議拿記事本記一下。
之后點擊服務器配置右邊的修改配置,將URL,Token,EncodingAESKey填寫完成并選擇明文模式(不要點提交)
Token可以隨意填寫,只要滿足要求(之后會用到,記一下)。EncodingAESKey隨機生成即可。URL即SAE應用域名地址,可以在SAE控制臺點進應用后找到。
將網頁放著不要關閉即可,不用點擊提交。
到了這一步,微信公眾平臺基本就完成了配置。(還剩下確認要等本地文件完成后再做)
本地文件
你首先需要使用pip安裝一個依賴包,在命令行運行該命令即可:(如果顯示沒有pip,可以百度一下"Python 安裝pip")
pip install requests
之后你需要把本項目下載到本地,你可以選擇下載壓縮包或者通過命令安裝:
git clone https://github.com/littlecodersh/MyPlatform.git
把下載下來的東西(如果是壓縮包則解壓縮好)拖到項目目錄(上文提到過)中,項目目錄中應基本(我會更新)如下所示:
運行項目目錄中的update.py
(其實雙擊運行也可以),選擇update config,根據提示輸入內容
- TOKEN即微信公眾平臺一節中提到的Token
- APP_ID與SECRET_KEY對應微信公眾平臺一節中提到的AppId與AppSecret
- TULING_KEY對應文首提到的Tuling key
下面我們把需要展示的文章進行設置(之后的設置方法也是這樣)
進入articles文件夾,按照欄目名創建txt文件,默認即兩個欄目:測試、工具集
每個txt文件中放置微信文章的網址(裝一個PC微信,手機將文章發給文件傳輸助手,復制鏈接地址即可),這個地址其實可以做一些刪減,瀏覽器能瀏覽即可
txt文件中靠下的網址將靠上展示(為了方便每次更新網址)
之后運行update.py
,選擇update articles,如果沒有出現Articles update succeeded
則修改顯示出的網址
python update.py
然后將項目上傳即可,還是運行update.py
,選擇upload to server,在彈出的窗口中按照提示輸入賬號、安全密碼(不是登錄密碼)即可上傳成功。
至此,我們的本地文件已經全部配置完成了。
開啟后臺
我們將微信公眾平臺一節中沒有點的提交點掉(如果失敗請檢查你的config.py
使用記事本打開后內容是否正確,是否能訪問上文提到過的SAE應用地址)
如果失敗且無法修復,可以嘗試郵件聯系我,聯系方式可以在我的主頁找到。
點擊服務器配置右邊的啟用,你的微信平臺就可以使用了!
嘗試回復你的微信平臺“幫助”試試看呀。
之后的配置
到這里你的微信個人公眾號已經可以使用了,那么之后怎么添加文章呢?
很簡單,在articles
中通過新建一個命名為欄目名的文本文件創建新的欄目,在文本文件底部粘貼微信文章的網址來添加文章。
之后上傳即可,上傳也就是運行update.py
后選擇upload to server,在彈出的窗口中按照提示輸入賬號、安全密碼(不是登錄密碼)即可。
搭建就這樣結束了,就是這么簡單:)
SAE配置入門
這一部分將以問題為導向簡單介紹SAE的配置。
項目的基本配置
使用新浪SAE其實和本地只用Python文件運行你的項目非常類似。區別僅在于本地通過某個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用到了這些文件,你會發現本地雖然能夠運行成功,但是SAE上卻無法加載。
其實就是地址發生了變化,我們告訴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