入门您现在的位置是:首页 > 专栏文集 > 微信公众号开发 > 入门

基本配置——开启公众号开发者模式

<a href='mailto:'>微wx笑</a>的头像微wx笑2019-09-25 10:41:35入门人已围观关键字:微信公众号,php

简介要进行微信公众号开发,首先要进行一些配置;我自己是订阅号(未通过微信认证,个人账号无法开通微信认证),使用 php 开发;如果你希望使用 Python 的话,建议参考官方帮助:开启公众号开发

要进行微信公众号开发,首先要进行一些配置;我自己是订阅号(未通过微信认证,个人账号无法开通微信认证),使用 php 开发;如果你希望使用 Python 的话,建议参考官方帮助:开启公众号开发者模式tSa编程技术_踩坑日志_进阶指南 - 无知人生

前提/依赖项

1、微信公众号,没有的话先注册一个,或者申请一个测试账号(测试账号的好处是:无需申请公众帐号、可在测试帐号中体验并测试微信公众平台所有高级接口)。tSa编程技术_踩坑日志_进阶指南 - 无知人生

2、域名及服务器(云虚拟主机/云服务器),我使用的阿里云服务器;先领券再购买。tSa编程技术_踩坑日志_进阶指南 - 无知人生

3、网站后台编程语言知识,php/.NET/Java/Python/go/swift/nodejs/cgi(c/c++/perl)。tSa编程技术_踩坑日志_进阶指南 - 无知人生

基本原理

注:此部分内容引用自:微信开发学习总结(二)——微信开发入门tSa编程技术_踩坑日志_进阶指南 - 无知人生

微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器然后将请求转发给我们的应用服务器。应用服务器处理完毕后,将响应数据回发给微信服务器,微信服务器再将具体响应信息回复到微信App终端。tSa编程技术_踩坑日志_进阶指南 - 无知人生

  通信协议为:HTTPtSa编程技术_踩坑日志_进阶指南 - 无知人生

  数据传输格式为:XMLtSa编程技术_踩坑日志_进阶指南 - 无知人生

  具体的流程如下图所示:tSa编程技术_踩坑日志_进阶指南 - 无知人生

    image.png  tSa编程技术_踩坑日志_进阶指南 - 无知人生

  来一张更加直观的图吧:tSa编程技术_踩坑日志_进阶指南 - 无知人生

  image.pngtSa编程技术_踩坑日志_进阶指南 - 无知人生

  我们需要做的事情,就是对微信服务器转发的HTTP请求做出响应。具体的请求内容,我们按照特定的XML格式去解析,处理完毕后,也要按照特定的XML格式返回。tSa编程技术_踩坑日志_进阶指南 - 无知人生

基本配置

登录微信公众平台,包括:订阅号,服务号,企业号;tSa编程技术_踩坑日志_进阶指南 - 无知人生

找到左侧菜单最下面的:基本配置tSa编程技术_踩坑日志_进阶指南 - 无知人生

开发基本配置tSa编程技术_踩坑日志_进阶指南 - 无知人生

可以看到右侧显示如下界面:tSa编程技术_踩坑日志_进阶指南 - 无知人生

基本配置——开启公众号开发者模式tSa编程技术_踩坑日志_进阶指南 - 无知人生

开发者ID(AppID),开发者密码就是调用API时证明自己身份的凭据;tSa编程技术_踩坑日志_进阶指南 - 无知人生

IP白名单,是用来告诉微信接口服务器,哪些IP是你的服务器所使用的IP,这样即使是你的开发者ID(AppID),开发者密码都被别人获取到了,它也没办法假冒你来成功调用接口。tSa编程技术_踩坑日志_进阶指南 - 无知人生

把自己的服务器ip白名单配置上。tSa编程技术_踩坑日志_进阶指南 - 无知人生


tSa编程技术_踩坑日志_进阶指南 - 无知人生

服务器配置

image.pngtSa编程技术_踩坑日志_进阶指南 - 无知人生

服务器地址(URL),这是一个回调URL,也就是有什么消息(比如关注你的人给你的订阅号发消息)、事件(比如有人关注你,有人取关),微信都会向你这个URL发请求(POST),这样你就可以接收到并自主进行处理。tSa编程技术_踩坑日志_进阶指南 - 无知人生

Token就是用来计算和验证签名的,内容自己随意定。tSa编程技术_踩坑日志_进阶指南 - 无知人生

消息加解密密钥(EncodingAESKey)用来加密消息内容,参考下面的例子:tSa编程技术_踩坑日志_进阶指南 - 无知人生

加密后: <xml>    
<Encrypt><![CDATA[5T/eo802wuriimeVw84zbJgiL7crV84eecv615nzogjqTSbOLuuSCzIm7EojsIZxq8gboTvq/9H2cPSnN7p/vv7zoyt8OdYIyWoSmTy/hYzwxzDqHex5zOZm2jLpxv9NHL4z6rWCqdxroYGjOYys1CKCXVfpUzX2s9LCj02iDhscPTg3drZn1B3MUeDzmTFvuxnXAAsKgtycGO9q29/AqI6EeKhDPRu6XVcdE9Tg2Sg4c6cXZbJCjYmYCyxw0ycf5761NRc1ahWucQ9zZbDuyI65q/xfrJfe60KXeXa6R8mYAZsyfnEJ31Gaq/wEh3ktRo9Vzd8QzMLxaC49UUCiVNtV4GCZ0fcmWapWapc7DfuRMuP5kEc9R4dKE4pyn9pmamduirEM4IqdxEvUGp9OT897CiMfFbJppqClG0E1q/09qd4sNwLdrdhZEtKeGKxaLqWWwekKFMs8uEP3t0m6rAL19LX5eaJRquubh8m7i8wU1CQgVgIt0P+96wyEJfB/bJ/+ohx+pC3KWgrYxLngIZ1RjRTgPOyXX1VI5wws92dfbsB5hX4nX03UetmnyxnBeaNYC58CJ0QJQVCVgV0l5C1Oexe1tLq+LTsESsujpnXHSyfAezz+VvTiicIdsVky]]></Encrypt>    
<MsgSignature><![CDATA[2833c5dc4cb248f8b16a42afc94443ca189085e0]]></MsgSignature>    
<TimeStamp>1409304348</TimeStamp>    
<Nonce><![CDATA[xxxxxx]]></Nonce>    
</xml>    
解密后: <xml><ToUserName><![CDATA[oia2Tj我是中文jewbmiOUlr6X-1crbLOvLw]]></ToUserName><FromUserName><![CDATA[gh_7f083739789a]]></FromUserName><CreateTime>1407743423</CreateTime><MsgType><![CDATA[video]]></MsgType><Video><MediaId><![CDATA[eYJ1MbwPRJtOvIEabaxHs7TX2D-HV71s79GUxqdUkjm6Gs2Ed1KF3ulAOA9H1xG0]]></MediaId><Title><![CDATA[testCallBackReplyVideo]]></Title><Description><![CDATA[testCallBackReplyVideo]]></Description></Video></xml>


tSa编程技术_踩坑日志_进阶指南 - 无知人生

服务器地址(URL)配置

比如你的网站域名是:https://ivu4e.com/,你可以在网站根目录下为其单独创建一个目录,比如“weixin”来存放相关的文件(当然,有条件你也可以为其单独设置一个域名,比如:wx.ivu4e.com,单独一个站点,文件直接放在根目录);
tSa编程技术_踩坑日志_进阶指南 - 无知人生

在“weixin”文件夹下创建一个 index.php,代码如下:tSa编程技术_踩坑日志_进阶指南 - 无知人生

<?php>

define("TOKEN", "你自己定义的Token");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->valid();

class wechatCallbackapiTest

{

    public function valid()

    {

        $echoStr = $_GET["echostr"];

        if($this->checkSignature()){

            echo $echoStr;

            exit;

        }

    }

    private function checkSignature()

    {

        $signature = $_GET["signature"];

        $timestamp = $_GET["timestamp"];

        $nonce = $_GET["nonce"];

        $token = TOKEN;

        $tmpArr = array($token, $timestamp, $nonce);

        sort($tmpArr);

        $tmpStr = implode( $tmpArr );

        $tmpStr = sha1( $tmpStr );

        if( $tmpStr == $signature ){

            return true;

        }else{

            return false;

        }

    }

}

?>

“你自己定义的Token”记得修改哦!
tSa编程技术_踩坑日志_进阶指南 - 无知人生

这样,服务器地址(URL)就填写:https://ivu4e.com/weixin/index.php,记得换成你的域名哦。tSa编程技术_踩坑日志_进阶指南 - 无知人生

消息加解密方式先使用明文模式,方便查看调试;tSa编程技术_踩坑日志_进阶指南 - 无知人生

然后就可以提交,启用服务器配置了。tSa编程技术_踩坑日志_进阶指南 - 无知人生

注意:服务器配置启用成功后,上面 index.php 中的代码就没用了,你可以替换为实际的业务代码了!tSa编程技术_踩坑日志_进阶指南 - 无知人生

逻辑流程图:

微信公众号开启服务逻辑流程图tSa编程技术_踩坑日志_进阶指南 - 无知人生


tSa编程技术_踩坑日志_进阶指南 - 无知人生

参考:

php微信公众号开发入门小教程tSa编程技术_踩坑日志_进阶指南 - 无知人生

微信公众平台开发入门教程(图文详解)tSa编程技术_踩坑日志_进阶指南 - 无知人生

官方文档:接入概述PHP示例代码下载:下载tSa编程技术_踩坑日志_进阶指南 - 无知人生

官方文档:入门指引——开启公众号开发者模式tSa编程技术_踩坑日志_进阶指南 - 无知人生


tSa编程技术_踩坑日志_进阶指南 - 无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()

上一篇:返回列表

下一篇:返回列表

站点信息

  • 建站时间:2018-10-24
  • 服务期限阿里云ECS 2027年到期
  • 主题模板:基于《今夕何夕》修改
  • 文章统计:210篇
  • 文章评论:15条
  • 文章阅读:2818次
  • 文章点赞:1026次
  • 微信公众号:扫描二维码,关注我们
  • 二维码-微信公众号-微wx笑