开放平台全网发布php,微信第三方开放平台全网发布验证

我们的业务是把大量客户的微信公众号 通过授权 给微信第三方开放平台的方式,通过第三方开放平台对客户公众号接口进行代操作。

其中的微信第三方开放平台在测试阶段(未全网发布),能授权的公众号只能是加入到白名单中的。所以托管大量的公众号,必须要对其全网发布。

而全网发布的时候,微信方会进行模拟公众号和粉丝微信号对你的第三方开放平台进行验证:

laravel下面的部分验证代码如下:

1 if($app_id == 'wx570bc396a51b8ff8'){2 if($MsgType == 'text'){//普通文本验证

3 $repType = "text";4 $content = $this->getRecMsg_Content();5 if($content == 'TESTCOMPONENT_MSG_TYPE_TEXT'){6 $repCont = 'TESTCOMPONENT_MSG_TYPE_TEXT_callback';7 }else{//API验证

8 $repCont = explode(":",$content)[1];//接受微信放发来的query_auth_code

9 $msgcontent = ["content"=>$repCont.'_from_api'];10 //获取access_token

11 $Client = new Client(['base_uri' => 'https://api.weixin.qq.com/cgi-bin/component/api_query_auth']);12 $client_result = $Client->post('?component_access_token=此时有效的第三方开放平台access_token',['json' => ['component_appid'=>'你的component_appid', 'authorization_code'=>$repCont]])->getBody();13 $access_token = json_decode($client_result,true)['authorization_info']['authorizer_access_token'];14 //发客服消息

15 App::make('weixin.cp')->setAuthorizerToken($access_token)->sendKeFuMsg($this->getFromUserName(),'text',$msgcontent);16 $repCont = $repCont.'_from_api';17 }18 }elseif($MsgType == 'event'){//事件验证

19 $repType = "text";20 $repCont = $MsgEvent."from_callback";21 }

//返回给微信xml22 $weixin_mp = App::make('weixin.mp');23 $weixin_mp->on($repType, function() use($repType,$repCont) {24 return App::make('weixin.mp')->makeMessage($repType ,$repCont);25 });26 $response = $weixin_mp->trigger($repType);27 return $response;28 }

开始检测,好紧张:

c1acace18a1b7056c7561d33566e7d7a.png

然后结果是:

60e9e97a274984fb308a0853ae89dc58.png

成功!!!

微信的官方手册:

网布发布验证手册

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318611&token=&lang=zh_CN

第四步:使用授权码换取公众号的接口调用凭据和授权信息

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN

发客服消息:

http://mp.weixin.qq.com/wiki/11/c88c270ae8935291626538f9c64bd123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用PHP完成微信第三方平台授权,你可以按照以下步骤进行操作: 1. 首先,你需要注册成为微信开放平台的开发者,并创建一个第三方平台应用。 2. 在创建应用后,你会得到一个AppID和AppSecret,这些是与微信平台进行通信的凭证。 3. 在你的PHP项目中,你需要使用curl库或其他HTTP请求库来发送HTTP请求到微信开放平台的API接口。 4. 首先,你需要获取预授权码(pre_auth_code)。发送GET请求到以下接口: ``` https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=xxx ``` 其中,component_access_token是通过调用获取第三方平台component_access_token接口获取的。 5. 获取到预授权码后,你可以使用预授权码和你的AppID生成授权链接,引导用户进入授权页面: ``` https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxx&pre_auth_code=xxx&redirect_uri=xxx ``` 其中,component_appid是你的AppID,pre_auth_code是上一步获取的预授权码,redirect_uri是用户授权后的回调URL。 6. 用户在授权页面确认授权后,会跳转到你指定的回调URL,并携带授权码(authorization_code)参数。 7. 在回调URL对应的PHP页面中,你需要解析URL中的授权码参数,并使用授权码发送POST请求到以下接口,获取授权令牌(authorizer_access_token)和刷新令牌(authorizer_refresh_token): ``` https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=xxx ``` 其中,component_access_token是通过调用获取第三方平台component_access_token接口获取的。 8. 获取到授权令牌和刷新令牌后,你可以使用它们来调用微信开放平台的其他API接口,完成后续的操作。 以上是使用PHP完成微信第三方平台授权的基本流程,具体的实现细节可能会因具体需求而有所不同。在实际开发中,你还需要处理授权过期、刷新令牌等情况,以保证授权的有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值