精华内容
下载资源
问答
  • 前段时间项目需要,在做微信公众号第三方平台方面的开发,可谓是一路坑中过,官方文档说的不是特别清楚,网上的资料也是断断续续,有头无尾的感觉,对于一个刚接触的开发者来说还是比较吃力的。所以,接下来会有一...

    前段时间项目需要,在做微信公众号第三方平台方面的开发,可谓是一路坑中过,官方文档说的不是特别清楚,网上的资料也是断断续续,有头无尾的感觉,对于一个刚接触的开发者来说还是比较吃力的。所以,接下来会有一系列的文章来介绍微信公众号第三方平台开发,会从基本的注册开始介绍,一步一步到所有的接口开发,袁小威希望自己的这些踩坑出来的经验能够帮助到刚接触的广大开发者。

    今天,先简单讲下什么是公众号第三方平台,与现有的公众平台有什么区别?

    官方介绍:公众号第三方平台是为了让公众号运营者,在面向垂直行业需求时,可以一键授权给公众号第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认证后的开发者使用。

    从业务特征上来说,第三方平台必须如图所示:

    业务特征

    直白一点,一个人使用和一群人使用的区别,公众号第三方平台可以服务所有已授权给平台的公众号,别人扫码授权即可;公众平台开发只能服务单个公众号,填写appid和appsecret。

    公众号授权给第三方平台的技术实现流程比较简单,如下图所示:

    技术实现流程

    展开全文
  • 微信公众号三方平台开发【component_verify_ticket篇】 里同样的解密方法进行数据的加解密操作,如下: require_once(dirname( FILE ).'/wxBizMsgCrypt.php'); //encodingAesKey和token均为申请三方平台是所...

    今天要讲的是代微信公众号接收消息并进行回复,这里要用到的就是咱们之前在微信公众号三方平台开发【帐号注册、平台创建】里写到的“公众号消息与事件接收URL”,在接收的目标方法里,我们首先要获取到微信推送过来post数据(xml格式),然后对其进行解密操作,从而得到消息内容。

    这里我们会用到微信公众号三方平台开发【component_verify_ticket篇】里同样的解密方法进行数据的加解密操作,如下:

    require_once(dirname(FILE).'/wxBizMsgCrypt.php');
    //encodingAesKey和token均为申请三方平台是所填写的内容
    $encodingAesKey = '公众号消息加解密Key';
    $token = '公众号消息校验Token';
    $appId = '三方平台appid';
    $timeStamp = empty ( $_GET ['timestamp'] ) ? "" : trim ($_GET ['timestamp'] );
    $nonce = empty ( $_GET ['nonce'] ) ? "" : trim ( $_GET['nonce'] );
    $msg_sign = empty ( $_GET ['msg_signature'] ) ? "" : trim( $_GET ['msg_signature'] );
    $pc = new \WXBizMsgCrypt ( $token, $encodingAesKey, $appId );
    //获取到微信推送过来post数据(xml格式)
    $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
    $msg = '';
    $errCode= $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $postArr,$msg);

    解密后,当$errCode返回值为0时,代表解密成功,下一步我们就需要对消息进行解析处理:

    $postObj =simplexml_load_string($msg,'SimpleXMLElement',LIBXML_NOCDATA);

    然后,根据不同的消息类型做出相应的回复,当消息类型为“event”且为用户关注事件时,微信公众号给用户自动回复一个文本消息:

    if (strtolower($postObj -> MsgType) == 'event'){
    //如果是关注subscribe事件
    if(strtolower($postObj->Event == 'subscribe')){
    $public_name= strval($postObj->ToUserName);
    $map['public_name']=$public_name;
    $cont =M('Subscribe')->where($map)->find();
    //回复用户消息
    $content =$cont['content'];
    responseText($postObj,$content);
    }
    }

    根据关键字回复图文消息:

    if(strtolower($postObj -> MsgType) == 'text' &&trim($postObj->Content)=='图文'){
    //这一步可从数据库中查询得到
    $arr = array(
    array(
    'title'=> 'test1',
    'description'=> 'test1',
    'picUrl'=>'http://mmbiz.qpic.cn/mmbiz/mLiaE7fSUysSbbqzicX2LVsLL1HsXMRV0m6uicfiaSX9Aic43BA5vnpFOBMWAoEuaVDicoOX4HzGT8OT5QK6DRs14VkQ/0',
    'url'=>'https://mp.weixin.qq.com/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPAYtneMxKyhWy52ytbUZfOJzFEHMDqmYTQLQWrkrSRky&appmsgid=10000002&itemidx=1&sign=99baf31f45e2357af575c63b5b303b6a#wechat_redirect',
    ),
    array(
    'title'=> 'test2',
    'description'=> 'test2',
    'picUrl'=> 'http://mmbiz.qpic.cn/mmbiz_jpg/mLiaE7fSUysTFDEZQTOvXleYwYqFN1JeLwM66Zg7dHjK3aHQxdVtwGTJgzuKJRuZCBHljIvVLkvZ2CADJ6paJYQ/0?wx_fmt=jpeg',
    'url'=>'https://mp.weixin.qq.com/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPDXw5wcPw4rpHzkwOv4U7kDY1V%2BUUirAB0C9oEEsX5HQB8Uv1Ut2zj3buNkRPh6KNYWVyTaxebMkb8IcD9FjNbpcqY0mdRbCxRnbIjtmNBd37cKXm3Egbo1KWdkSEy5NZg%3D%3D&chksm=315123030626aa15c3e454afbd931ec3458149b13370999b16bc72b876326977e7d68b406a8c#rd',
    )
    );
    responseNews($postObj,$arr);
    }

    其他关键字回复:

    $public_name= strval($postObj->ToUserName);
    $keyword = strval(trim($postObj-> Content));
    $log['public_name']=$public_name;
    $log['keyword'] =array('like','%'.$keyword.'%');
    $con =M('Keyword')->where($log)->select();
    foreach ($con as $vo=> $k){
    $conn=$con[$vo]['content'];
    }
    if($conn){
    $content =$conn;
    }else{
    $lg['public_name']=$public_name;
    $lg['keyword']='';
    $con =M('Keyword')->where($lg)->select();
    foreach($con as $vo => $k){
    $conn=$con[$vo]['content'];
    }
    $content =$conn;
    }
    responseText($postObj,$content);

    以上用到的responseText()、responseNews()鉴于代码模块化,而且方便复用,所以单独用方法写出,其他不多说了,具体见代码:

    1)回复文本消息

    function responseText($postObj,$content){
          $template ="<xml>
              <ToUserName><![CDATA[%s]]></ToUserName>
              <FromUserName><![CDATA[%s]]></FromUserName>
              <CreateTime>%s</CreateTime>
              <MsgType><![CDATA[%s]]></MsgType>
              <Content><![CDATA[%s]]></Content>
            </xml>";
         $fromUser = $postObj ->ToUserName;
         $toUser = $postObj -> FromUserName;
         $time = time();
         $msgType = 'text';
        $res =sprintf($template,$toUser,$fromUser,$time,$msgType,$content);
         $encodingAesKey = '公众号消息加解密Key';
         $token ='公众号消息校验Token';
         $appId = '三方平台appid';
         $pc = new \WXBizMsgCrypt ($token, $encodingAesKey, $appId );
         $encryptMsg = '';
       $errCode =$pc->encryptMsg($res,$_GET ['timestamp'], $_GET ['nonce'], $encryptMsg);
         if($errCode ==0){
              $res = $encryptMsg;
          }
         echo $res;
         }

    2)回复图文消息

    function responseNews($postObj,$arr){
         $toUser = $postObj -> FromUserName;
         $fromUser = $postObj -> ToUserName;
         $template ="<xml>
              <ToUserName><![CDATA[%s]]></ToUserName>
              <FromUserName><![CDATA[%s]]></FromUserName>
              <CreateTime>%s</CreateTime>
              <MsgType><![CDATA[%s]]></MsgType>
              <ArticleCount>".count($arr)."</ArticleCount>
              <Articles>;
         foreach($arr as $k=>$v){
              $template.="<item>
                <Title><![CDATA[".$v['title']."]]></Title>
               <Description><![CDATA[".$v['description']."]]></Description>
                <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>
                <Url><![CDATA[".$v['url']."]]></Url>
                </item>";
    }
              $template.="</Articles>
              </xml>";
         $time = time();
         $msgType = 'news';
         $res =sprintf($template,$toUser,$fromUser,$time,$msgType);
         $encodingAesKey = '公众号消息加解密Key';
         $token ='公众号消息校验Token';
         $appId = '三方平台appid';
         $pc = new \WXBizMsgCrypt ($token, $encodingAesKey, $appId );
         $encryptMsg = '';
       $errCode =$pc->encryptMsg($res,$_GET ['timestamp'], $_GET ['nonce'], $encryptMsg);
         if($errCode ==0){
              $res = $encryptMsg;
          }
         echo $res;
         }

    需要注意的是,在代微信公众号实现其功能的时候,接收的消息都需要解密,对回复的内容也必须进行加密再进行回复。
    接收消息事件完整代码:

    public function reponseMsg(){
    require_once(dirname(FILE).'/wxBizMsgCrypt.php');
    //encodingAesKey和token均为申请三方平台是所填写的内容
    $encodingAesKey = '公众号消息加解密Key';
    $token = '公众号消息校验Token';
    $appId = '三方平台appid';
    $timeStamp = empty ($_GET ['timestamp'] ) ? "" : trim ( $_GET ['timestamp'] );
    $nonce = empty ( $_GET['nonce'] ) ? "" : trim ( $_GET ['nonce'] );
    $msg_sign = empty ($_GET ['msg_signature'] ) ? "" : trim ( $_GET ['msg_signature'] );
    $pc = new\WXBizMsgCrypt ( $token, $encodingAesKey, $appId );
    //获取到微信推送过来post数据(xml格式)
    $postArr =$GLOBALS['HTTP_RAW_POST_DATA'];
    $msg = '';
    $errCode =$pc->decryptMsg($msg_sign, $timeStamp, $nonce, $postArr,$msg);
    if($errCode == 0){
    //处理消息类型,并设置回复类型和内容
    $postObj =simplexml_load_string($msg,'SimpleXMLElement',LIBXML_NOCDATA);
    //判断该数据包是否是订阅(用户关注)的事件推送
    if(strtolower($postObj -> MsgType) == 'event'){
    //如果是关注subscribe事件
    if(strtolower($postObj->Event == 'subscribe')){
    $public_name= strval($postObj->ToUserName);
    $map['public_name']=$public_name;
    $cont= M('Subscribe')->where($map)->find();
    //回复用户消息
    $content= $cont['content'];
    responseText($postObj,$content);
    }
    }
    //用户发送某一图文关键字的时候,回复图文消息
    if(strtolower($postObj-> MsgType) == 'text' && trim($postObj->Content)=='图文'){
    //这一步可从数据库中查询得到
    $arr= array(
    array(
    'title'=> 'test1',
    'description'=> 'test1',
    'picUrl'=>'http://mmbiz.qpic.cn/mmbiz/mLiaE7fSUysSbbqzicX2LVsLL1HsXMRV0m6uicfiaSX9Aic43BA5vnpFOBMWAoEuaVDicoOX4HzGT8OT5QK6DRs14VkQ/0',
    'url'=>'https://mp.weixin.qq.com/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPAYtneMxKyhWy52ytbUZfOJzFEHMDqmYTQLQWrkrSRky&appmsgid=10000002&itemidx=1&sign=99baf31f45e2357af575c63b5b303b6a#wechat_redirect',
    ),
    array(
    'title'=> 'test2',
    'description'=> 'test2',
    'picUrl'=> 'http://mmbiz.qpic.cn/mmbiz_jpg/mLiaE7fSUysTFDEZQTOvXleYwYqFN1JeLwM66Zg7dHjK3aHQxdVtwGTJgzuKJRuZCBHljIvVLkvZ2CADJ6paJYQ/0?wx_fmt=jpeg',
    'url'=>'https://mp.weixin.qq.com/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPDXw5wcPw4rpHzkwOv4U7kDY1V%2BUUirAB0C9oEEsX5HQB8Uv1Ut2zj3buNkRPh6KNYWVyTaxebMkb8IcD9FjNbpcqY0mdRbCxRnbIjtmNBd37cKXm3Egbo1KWdkSEy5NZg%3D%3D&chksm=315123030626aa15c3e454afbd931ec3458149b13370999b16bc72b876326977e7d68b406a8c#rd',
    )
    );
    responseNews($postObj,$arr);
    }else{
    //当微信用户发送关键字,公众号回复对应内容
    $public_name=strval($postObj->ToUserName);
    $keyword= strval(trim($postObj -> Content));
    $log['public_name']=$public_name;
    $log['keyword']= array('like','%'.$keyword.'%');
    $con= M('Keyword')->where($log)->select();
    foreach($con as $vo => $k){
    $conn=$con[$vo]['content'];
    }
    if($conn){
    $content= $conn;
    }else{
    $lg['public_name']=$public_name;
    $lg['keyword']='';
    $con= M('Keyword')->where($lg)->select();
    foreach($con as $vo => $k){
    $conn=$con[$vo]['content'];
    }
    $content= $conn;
    }
    responseText($postObj,$content);
    }
    }
    }

    接收消息事件并响应

    展开全文
  • 上一期咱们简单介绍了一下什么是公众号第三方平台,今天咱们讲具体如何操作来创建属于你自己的微信第三方平台。 【注册】 首先当然是移步前往微信开放平台注册开发者帐号啦~ 注册传送门 进去后,会看到如下图...

    上一期咱们简单介绍了一下什么是公众号第三方平台,今天咱们讲具体如何操作来创建属于你自己的微信第三方平台。
    【注册】
    首先当然是移步前往微信开放平台注册开发者帐号啦~注册传送门
    进去后,会看到如下图页面:
    Paste_Image.png
    点击右上角【注册】按钮,进到注册页面,按照注册指引完成注册:
    Paste_Image.png
    【创建公众号第三方平台】
    登录后,依次进入管理中心–>第三方平台–>创建第三方平台(创建第三方平台前需要对开发者帐号进行开发者资质认证(仅支持企业类型资质认证),费用为300元/年,一个账户只能创建5个第三方平台)。
    Paste_Image.png
    【填写平台信息】
    按照要求和提示填写平台基础信息、选择权限以及开发资料(权限集按需选择)。
    Paste_Image.png
    开发资料包含三部分:授权流程相关、授权后代替公众号实现业务、其他。详细的每一项的说明都还是比较清晰的。
    授权发起页域名:填写平台线上域名,如平台放置在wx.example.com下,则填写wx.example.com即可;
    授权测试公众号列表:填写平台开发过程拿来测试的公众号原始ID,这个在公众号设置页可以查看;
    授权事件接收URL:微信服务器会向这个地址推送一些信息如取消授权通知、授权成功通知、授权更新通知以及component_verify_ticket,component_verify_ticket是微信验证平台方的重要凭据(如:wx.example.com/Wechat/Wechat/ticket);
    公众号消息校验Token:平台代公众号接收消息时,用来校验消息;
    公众号消息加解密Key:长度为43位的字符串,只能为数字和字母,在代公众号收发消息过程中会使用(改字符串按要求自己生成);
    公众号消息与事件接收URL:用户关注公众号或发送信息对应的信息会推送到这个地址(如:wx.example.com/Wechat/Wechat/reponseMsg/appid/ APPID /);
    白名单IP地址列表:一般为放置平台服务器的公网ip;
    其他几个域名信息填自己对应的域名就可以了。
    填完信息后,点击【提交】按钮就完成了第三方平台的创建,等待审核通过就可以进行正式开发测试了(审核有时候很快,有时候需要排队)。
    如果后期需要对第三方平台信息进行修改更新,点击详情–>修改平台,改完再次提交即可(授权测试公众号列表和白名单IP地址列表在平台详情页直接可以快捷修改)。
    PS:全网发布是在第三方平台开发测试完成之后再进行的操作,对已全网发布的第三方平台,如果第三方平台发生了业务变更,就需要对第三方平台进行修改,修改完成后,需要提交“覆盖现网全网发布”,此时修改后的内容才会对公众发布,当然,修改过程中,现网正在使用的公众号是完全不受影响滴。
    好咯,今天就说这些吧,下期咱们正式开启开发模式~对了,我是基于Thinkphp框架开发的~

    展开全文
  • 之前我们讲过,在获取到预授权码之后,我们需要在自己的网站中设置授权页入口(如下图),从而引导微信公众号管理员进入到授权页,对第三方平台进行微信公众号的托管授权。 对于微信授权页,简单的说就是一个...

    之前我们讲过,在获取到预授权码之后,我们需要在自己的网站中设置授权页入口(如下图),从而引导微信公众号管理员进入到授权页,对第三方平台进行微信公众号的托管授权。
    授权页引导页

    对于微信授权页,简单的说就是一个带有规定参数的URL,其中包括第三方平台的appid、预授权码以及回调URL,通过访问这个URL,各个参数正确无误,就会进入到授权页,如:
    授权页

    生成授权页URL,首先我们需要获取得到“预授权码”:
    $pre_auth_code = $this->get_pre_auth_code ();
    if ($pre_auth_code == false) {
    $res ['msg'] = '获取pre_auth_code失败!';
    return $res;
    }

    其次还需要封装好“回调URL”,其中“BASE_URL”为网站域名:
    $callback = BASE_URL.U('Wechat/Wechat/after_auth');

    然后,组装授权页URL:
    $jumpURL = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=第三方平台appid&pre_auth_code='.$pre_auth_code.'&redirect_uri='.$callback;

    这里,我们对授权页的生成创建一个可供调用的方法,在需要生成的授权页URL的页面进行调用,如:
    $tips = A('Wechat/Wechat')
    $res = $tips->tips();
    if (! $res ['status']) {
    $this->error ( $res ['msg'] );
    exit ();
    }
    $this->assign ( 'jumpURL', $res ['jumpURL'] );

    完整代码:
    1)授权引导页调用

    Public function index(){
    $tips = A('Wechat/Wechat')
    $res = $tips->tips();
    if (! $res ['status']) {
    $this->error ( $res ['msg'] );
    exit ();
    }
    $this->assign ( 'jumpURL', $res ['jumpURL'] );
    $this->display():
    }

    2)授权页URL生成方法

    public function tips(){
    $res ['status'] = false;
    $pre_auth_code = $this->get_pre_auth_code ();
    if ($pre_auth_code == false) {
    $res ['msg'] = '获取pre_auth_code失败!';
    return $res;
    }
    $callback = BASE_URL.U('Wechat/Wechat/after_auth');
    $jumpURL = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=第三方平台appid&pre_auth_code='.$pre_auth_code.'&redirect_uri='.$callback;
    $res ['status'] = true;
    $res ['jumpURL'] = $jumpURL;
    return $res;
    }

    展开全文
  • 微信公众号三方平台开发【component_access_token篇】

    万次阅读 热门讨论 2017-06-06 11:54:01
    微信公众号管理员确认并同意登录授权:微信公众号管理员进入第三方平台授权页后,需要确认并同意将自己的微信公众号授权给第三方平台,从而完成授权流程(授权完成后,授权页会自动跳转到回调URL,并将授权码和过期...
  • 预授权码(即pre_auth_code)是在微信公众号给第三方平台授权时,用来安全验证的,有效时间为20分钟(之前文档说的有效期为10分钟,现在又改成了20分钟,但是返回结果示例里貌似又是10分钟,这个大家根据实际情况...
  • 不过这部分官方有提供相应语言的解密DEMO,下面附上我自己这块的完整代码,里面用到了数据库操作以及微信公众号取消授权的操作: public function ticket(){ require_once(dirname( FILE ).'/wxBizMsgCrypt....
  • 微信公众号三方平台开发【获取授权方的授权信息以及基本信息】 ),然后再调用发送客服消息api来给粉进行文本消息回复,其中文本消息内容为: q u e r y a u t h c o d e query_auth_code _from_api : if...
  • 今天开始之前,先对上期的内容做一个小的补充,第三方平台在开发(即待全网发布)模式下,用来测试的微信公众号必须为第二期里说到的“授权测试公众号列表”(即测试白名单)里填写的微信公众号,否则会出现授权失败...
  • 随着公众平台日益渐火,微信公众号的建设单纯只靠健全他的自定义菜单,完善消息回复体系,稳定高质量更文频率,就能给自己的平台带来源源不断的粉丝了吗为什么需要创新?随着社会的发展,社会服务形式的多样化,人们...
  • 1、先申请微信公众号的测试号 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 使用微信扫描就能获取了,注意一个微信最多一个测试号 2、配置网页授权相关 下面这里填的是内网穿透的域名,当然如果...
  • 概 述微信公众号的爬取关键字:公众号抓取功能特性功能特性关于公众号的爬取:常规的分为三种方式。1、爬取搜狗微信接口。...是一款为了获取微信安全方面的公众号聚合平台。为客户提供优质的聚...
  • 微信公众号第三方平台开发python教程 Part 1 微信公众号第三方平台开发python教程 Part 2 微信公众号第三方平台开发python教程 Part 3 本节将使用 授权码 换取 公众号的接口调用凭据authorizer_access_token和...
  • 微信开放平台开发系列...微信开放平台开发第三方授权登陆(四):微信公众号 微信开放平台开发第三方授权登陆(五):微信小程序 目录 一、需求 二、开发流程 三、具体实现步骤 1.引导用户跳转到微信授...
  • 微信公众号怎么真机调试

    千次阅读 2019-03-09 14:54:05
    使用TBS Studio进行微信公众号真机调试 目前在微信公众号开发中大家都很了解微信开发者工具,在早期的微信开发者工具中有移动调试功能,让手机通过代理的方式开通移动调试,但是最新版本的微信开发者工具中移除了...
  • 微信公众号相关开发

    2020-05-29 16:23:58
    微信公众号模板消息推送,授权登录等相关实现代码
  • 作为最佳营销平台微信公众号也迎来爆发式增长。目前,各类微信公众号已经突破1000万个,每天还以1.5万的速度递增!推送视频、图片、文字……拼粉丝量、拼阅读量,众多微信公众号为了实现盈利,真是用尽了各种手段...
  • 微信公众号支付 微信公众号支付以TP3.2为例 首先,生成订单后跳到支付的页面,跳转地址代码为: redirect(‘Payment/prepay’, array(‘order_num’ =>$data[‘order_num’])); php代码 class PayController...
  • 2.设置访问微信公众号三方接口被授权获取token权限的白名单ip 3、然后登陆公众号平台进行授权域名设置,用于授权用户信息时在此域名下访问到授权文件 4、调用接口 public Result judgeIsFollow(String ...
  • 注:之前总结怎么进行本地公众号开发...关于三者的差别和介绍可以参考微信公众号官网微信公众平台。申请通过之后,就能登陆微信公众平台管理平台进行开发设置了。 每个公众号申请成功后,微信服务那边就会给每个...
  • 微信公众号开发追重要的就是要把微信与云连接起来。 1.进入测试 2.申请好云: 3.开始配置: 1.不管怎么样,先在云空间里根目录下放置了一个token/index.php文件,这个文件的内容为(另存文件index.php) index....
  • 微信公众号推送消息

    2019-08-19 18:01:36
    最近在研究使用微信公众号推送消息,这里简单记录下,以便后续追踪: 1、首先注册测试版微信公众号,地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421137522 点击进入微信公众账号申请系统...
  • 第三方平台微信公众号开发

    千次阅读 2019-07-02 14:39:34
    第三方平台微信公众号开发流程 一:准备工作 ㈠ 微信开放平台相关 申请微信开放平台账号后,需前往微信开放平台,创建第三方平台,填写开发相关配置: 填写授权流程相关配置: 注意事项: ⑴ 授权...
  • 主要介绍了php微信公众号开发第四课,php实现简单微信文本通讯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 微信公众号采集小爬虫

    千次阅读 2019-03-15 09:48:51
    涉及到需要通过python爬取微信公众号的文章,因为微信独特一些手段,导致无法直接爬取,研究了一些文章大概有了思路,并且网上目前能搜到的方案思路都没啥问题,但是里面的代码因为一些三方库的变动基本都不能用了,...
  • 所谓的不写代码玩转微信公众号,其实就是在编辑模式下如何使用微信公众号的意思,呵呵,是不是有种恍然大悟的感觉。  其实,如果你关注的微信公众号比较多的话,你会发现有很多有名的公众号,它们没有菜单,每天...
  • 微信公众号第三方平台开发,授权流程。官方开发文档:授权流程技术说明 授权流程的开发,总结起来可以分为三条线和一条测试case: 接收微信服务器每十分钟推送的ticket 公众号授权入口 公众号基本信息保存及设定 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,222
精华内容 1,288
关键字:

微信公众号三方平台