美文网首页
微信公众号开发实践(一)准备阶段

微信公众号开发实践(一)准备阶段

作者: AhMay2018 | 来源:发表于2019-04-17 10:31 被阅读0次

    最近在看一本书《微信公众平台开发最佳实践》,想学习一下公众平台开发。下一步就打算学习小程序,进而研究公众平台和小程序的接合使用。因为本人是python背景,而这本书是php写的例子。这里我就将从python的实现来学习这些例子。注意,注意,我用的是windows平台,Django框架.

    一,准备阶段

     1. 当然是申请微信公众号了。这个不用多说。个人只能申请个人服务号和个人的订阅号。虽然在之后的开发中有很多的限制,但没有关系。从学习的角度看,我们可以在申请完个人的订阅号或者服务号之后,再申请一个公众号测试账号来学习用。怎么申请,请baidu,然后一步一步来就可以了。

    2. 服务器配置:这个教程要求大家申请云服务器,因为微信公众号的开发必须有云服务器作后端,但是我想程序员嘛,学习用的都不想花钱。可以有个备选方案:Ngrok。 我这里把Ngrok的下载地址以及我实验成功的方案分享给大家。

        下载地址: http://ngrok.ciqiuwl.cn/

         本地运行的命令行:

            1,下载windows版本的客户端,解压到你喜欢的目录

            2,在命令行下进入到ngrok客户端目录下

            3,执行 ngrok -config=ngrok.cfg -subdomain xxx 80 //(xxx 是你自定义的域名前缀)

            4,如果开启成功 你就可以使用 xxx.ngrok.xiaomiqiu.cn 来访问你本机的 127.0.0.1:80 的服务啦

           5,如果你自己有顶级域名,想通过自己的域名来访问本机的项目,那么先将自己的顶级域名解析到120.78.180.104(域名需要已备案哦),然后执行 ngrok -config=ngrok.cfg -hostname xxx.xxx.xxx 80 //(xxx.xxx.xxx是你自定义的顶级域名)

           6,如果开启成功 你就可以使用你的顶级域名来访问你本机的 127.0.0.1:80 的服务啦

           7,如果失败 就加下交流群 反馈下问题 本屌会看看什么原因....吧

           8,如果实在闲命令打开麻烦,windows版提供了一键启动脚本!直接启动即可(其它版本没有脚本)       

    3. 有了自己的服务器后,需要部署一个简单的django 微信网站,然后就可以来配置微信公众号的开发者中心了。

        django 搭建好的服务器,必须在80端口开启: python manage.py runserver 80

         然后实验ngrok绑定的域名代替127.0.0.1:80看看能不能也访问成功.

    4.在view中编写weixin认证代码

      TOKEN ='ahmay'

    def wechat(request):

    wechat_obj = wechatCallbackapiTest()

    if request.method =="GET":

    if request.GET.get("echostr",None)is not None:

    return wechat_obj.valid(request)

    else:

    return HttpResponse("None WeChat GET Access")

    else:

    pass

        return HttpResponse("ok")

    class wechatCallbackapiTest():

    def valid(self,request):

    echoStr = request.GET.get("echostr",None)

    if self.check_signature(request):

    print("response here")

    return HttpResponse(echoStr)

    else:

    return HttpResponse("False")

    def check_signature(self,request):

    signature =request.GET.get("signature",None)

    timestamp =request.GET.get("timestamp",None)

    nonce =request.GET.get("nonce",None)

    token = TOKEN

    tmpArray = [token,timestamp,nonce]

    print(tmpArray)

    tmpArray.sort()

    tmpStr =''.join(tmpArray).encode('utf-8')

    tmpStr = hashlib.sha1(tmpStr).hexdigest()

    if tmpStr == signature:

    return True

            else:

    return False

    5. 认证完后, 可以去公众号开发者中心配置URL 和token.提交成功为止。有issue的可以问我。

    相关文章

      网友评论

          本文标题:微信公众号开发实践(一)准备阶段

          本文链接:https://www.haomeiwen.com/subject/mqlgwqtx.html