零基础 20 分钟搭建 SAE 微信个人号后台

最近看到伯乐在线上有写配置微信后台的东西,用了不错的框架,看评论感觉没有讲怎么配置到云端有点可惜。

刚好五一我给人写了一个SAE后台(MyPlatform),他给我的要求是文章列表、自动回复。

我顺带还录了个配置视频给他,可谓二十分钟零基础配置。

利用一下这个项目,我写了这篇文章,来介绍一下SAE上Python搭建的微信个人公众号后台的配置,希望能有所帮助。

阅读建议

如果你想要搭建一个公众号或者想要扩展自己的公众号,可以只阅读“基于MyPlatform搭建后台”一节。

如果你想要了解SAE与Python的配合,可以顺序阅读。

如果你只是在SAE与Python的配合中遇到了一些难点,可以直接阅读“SAE配置入门”一节。

成果展示

完成配置以后的微信个人公众号会是这个样子。(本号不更新,仅作演示用途,看完请取关)

QRCode

这是公众号的互通演示以及文章列表的展示。

公众号演示二合一

基于MyPlatform搭建后台

本部分教程基于我写给朋友的MyPlatform项目。

完成本部分可以获得成果展示中同样功能的一个公众号以及对配置的基本了解。

这里提供本部分的视频教程(v.youku.com/v_show/id_XMTU1NjA0NDIwMA==),建议将文字与视频对照着看。

准备工作

  • 实名认证过的SAE账号(实名认证需要一些时间,虽然运气好的话几小时就好)
  • 微信公众平台个人账号(其他类型其实也可以啦)
  • 图灵机器人API Key,图灵官网获取(如果没有也没关系,空着就好,只影响自动回复)
  • 确保命令行能够运行pythongit。(python版本为2.7)

本项目需要配置三样东西,按照顺序先后为:新浪SAE,微信公众平台,本地文件

新浪SAE

再次提醒,配置该项目需要SAE实名认证

下面假设你已经拥有了一个实名认证的SAE账号并完成了登陆。

首先,我们需要创建一个应用(这一步在控制台操作即可)

创建一个应用

创建应用

配置应用,自定义域名并选择Python 2.7作为运行环境

配置应用

选择Git作为代码同步工具

选择Git

完成配置后获得仓库地址

获得仓库地址

将该仓库git clone到本地,按要求输入SAE用户名及安全密码(注意不是登录密码),你会得到一个目录(后文称项目目录)

到了这一步,新浪SAE的配置就完成了。

微信公众平台

登陆并进入微信公众平台后台

进入开发者基本配置

进入开发者基本配置

获取AppId(应用ID)和AppSecret(应用密匙),这两项之后会用到,建议拿记事本记一下。

之后点击服务器配置右边的修改配置,将URL,Token,EncodingAESKey填写完成并选择明文模式(不要点提交)

Token可以随意填写,只要满足要求(之后会用到,记一下)。EncodingAESKey随机生成即可。URL即SAE应用域名地址,可以在SAE控制台点进应用后找到。

域名地址

将网页放着不要关闭即可,不用点击提交。

到了这一步,微信公众平台基本就完成了配置。(还剩下确认要等本地文件完成后再做)

本地文件

你首先需要使用pip安装一个依赖包,在命令行运行该命令即可:(如果显示没有pip,可以百度一下”Python 安装pip”)

之后你需要把本项目下载到本地,你可以选择下载压缩包或者通过命令安装:

把下载下来的东西(如果是压缩包则解压缩好)拖到项目目录(上文提到过)中,项目目录中应基本(我会更新)如下所示:

项目目录

运行项目目录中的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则修改显示出的网址

然后将项目上传即可,还是运行update.py,选择upload to server,在弹出的窗口中按照提示输入账号、安全密码(不是登录密码)即可上传成功。

至此,我们的本地文件已经全部配置完成了。

开启后台

我们将微信公众平台一节中没有点的提交点掉(如果失败请检查你的config.py使用记事本打开后内容是否正确,是否能访问上文提到过的SAE应用地址)

如果失败且无法修复,可以尝试邮件联系我,联系方式可以在我的主页找到。

点击服务器配置右边的启用,你的微信平台就可以使用了!

尝试回复你的微信平台“帮助”试试看呀。

之后的配置

到这里你的微信个人公众号已经可以使用了,那么之后怎么添加文章呢?

很简单,在articles中通过新建一个命名为栏目名的文本文件创建新的栏目,在文本文件底部粘贴微信文章的网址来添加文章。

之后上传即可,上传也就是运行update.py后选择upload to server,在弹出的窗口中按照提示输入账号、安全密码(不是登录密码)即可。

搭建就这样结束了,就是这么简单:)

SAE配置入门

这一部分将以问题为导向简单介绍SAE的配置。

项目的基本配置

使用新浪SAE其实和本地只用Python文件运行你的项目非常类似。区别仅在于本地通过某个Python文件启动项目,而SAE上通过index.wsgi告诉服务器怎么启动项目。

这一点很容易理解,就拿一个flask项目为例好了,一般来说我们本地启动的时候最简单的方式是这样的代码:

那么相对应的SAE中要上传的根目录下的index.wsgi就这样写:

是不是基本类似?Django稍复杂一些,但原理还是类似的。一般还会有一个配置文件:

使用第三方包

你只需要将需要的包下载到某个文件夹中然后告诉SAE第三方包在那里即可。

例如我们以在根目录下的vendor目录中下载requests包为例:

然后通过在index.wsgi最开始增加这些代码,告诉SAE第三方包安装的位置就可以了。

css等文件的加载

如果你的SAE用到了这些文件,你会发现本地虽然能够运行成功,但是SAE上却无法加载。

其实就是地址发生了变化,我们告诉SAE这些东西怎么找就可以了。

例如我的css和js文件放在了app/static/文件夹下面,那么我们就在config.yaml中加入这些配置:

项目的上传

SAE上项目的上传和普通的使用git上传项目类似,只是分支名会有小小的变化。

一般而言如下命令即可完成上传:

所以如果处于自动化考虑,Windows下可以写一个这样的批处理文件:

结语

如果我的项目有意思想要关注我的更新,欢迎在Github上Follow我(littlecodersh)或者Star我的项目。

如果有什么问题或者建议,也欢迎邮件或者提出Issue与我交流。

LittleCoder

160503

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

3 6 收藏 19 评论

关于作者:LittleCoder

狂热bbt粉丝,业余写玩具。 个人主页 · 我的文章 · 25 ·   

相关文章

可能感兴趣的话题



直接登录
最新评论
  • M_Kepler 学生 2016/05/07

    倒在了第一步,flask安装不成功,安装了也是提示没有响应的模块。。。。

    • LittleCoder   2016/05/08

      如果只是需要挂到SAE上去实现微信后台本地仅安装requests包。
      pip install requests
      如果需要学习flask,你可以多提供一些信息,我试着看看哪里出问题了。

      updated on 160512

      • 不行啊,楼主

        我是在Mac下面跑的

        用了git clone 也用了下安装包

        拉过去都提示 ImportError: No module named flask

        下面的是详情

        FengJYdeMacBook-Pro:davino fengjy$ python update.py
        Traceback (most recent call last):
        File "update.py", line 4, in <module>
        from app.models.articles import output_articles_json
        File "/Users/Rounds/Documents/Git/davino/app/__init__.py", line 1, in <module>
        from flask import Flask
        ImportError: No module named flask

        • LittleCoder   2016/05/11

          我更新了一下版本,你可以尝试重新下载。

          • 刚更新的吗?Ok,非常谢谢。

          • 出现了另外一个错误

            engJYdeMacBook-Pro:davino fengjy$ python update.py
            Traceback (most recent call last):
            File "update.py", line 4, in <module>
            from app.models.articles import output_articles_json
            File "/Users/Rounds/Documents/Git/davino/app/models/articles.py", line 1, in <module>
            import re, requests, os, sys, json, time
            ImportError: No module named requests

            • LittleCoder   2016/05/11

              尝试使用该命令

              • update Articles的时候总是CANCELed 怎么解决啊

                • LittleCoder   2016/05/12

                  把完整的提示给我看一下

                  • 乱码

                    FengJYdeMacBook-Pro:davino fengjy$ python update.py
                    *** Command List ***
                    0: Quit
                    1: update config
                    2: update articles
                    3: check for upload
                    4: upload to server
                    Your command: 2
                    Last record: Tue May 03 09:53:41 2016
                    Do you want to update?[y] y
                    Check url: txtptbLuss�Qw��.txtptbLustr+Users/Rounds/Documents/Git/davino/articles/s�Qw��.txtptbNustrs�Qw��.txt
                    @� @ @ @
                    DSDB ` @ @ @
                    Articles update CANCELed

                    • LittleCoder   2016/05/12

                      你按照提示检查一下你需要展示的文章的url,按照显示来看这篇文章肯定不是一篇正常的微信文章。

                      txtptbLuss�Qw��.txtptbLustr+Users/Rounds/Documents/Git/davino/articles/s�Qw��.txtptbNustrs�Qw��.txt

      • M_Kepler 学生 2016/05/12

        可是运行不了update我怎么输入token等信息呢?

        • LittleCoder   2016/05/12

          pip install requests

          • M_Kepler 学生 2016/05/13

            你好,你所说的pip install requests我已经安装了的,我进行到运行update输入TOKEN那一步,可是我python update.py后提示:

            没有安装flask就无法运行,无法运行就无法进行后续操作了,,,,求解答

  • 作者你好,在进行到upload to server 时出现如下情况:

     

    C:\Users\wzh\humorspy>git add --all .
    C:\Users\wzh\humorspy>git commit -m "2016/10/23 周日20:21:24.16"
    *** Please tell me who you are.
    Run
      git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    fatal: empty ident name (for <(null)>) not allowed
    C:\Users\wzh\humorspy>git push origin master:1
    error: src refspec master does not match any.
    error: failed to push some refs to 'https://git.sinacloud.com/humorspy'
    C:\Users\wzh\humorspy>pause
    请按任意键继续. . .

    应该怎么处理呢?

  • 萧瑟   01/18

    Token验证过不了。新浪SAE没有实名认证,是不是这个会有影响?

  • 彼岸的夏天花   04/22

    你好,我按照您的配置一步一步设置成功了,但是关注了我自己的公众号后,为什么没出来欢迎语啊,类似于你那个的welcome world:

    欢迎关注我的微信号!
    回复下列内容获取对应信息:
    目录: 获取文章目录的网址
    帮助: 获取本信息
    其他: 图灵机器人会陪你聊天'''

跳到底部
返回顶部