微信第三方開放平臺(tái)全網(wǎng)發(fā)布驗(yàn)證
Sep 24, 2016 am 09:02 AM我們的業(yè)務(wù)是把大量客戶的微信公眾號(hào) 透過(guò)授權(quán) 給微信第三方開放平臺(tái)的方式,透過(guò)第三方開放平臺(tái)對(duì)客戶公眾號(hào)介面進(jìn)行代操作。
其中的微信第三方開放平臺(tái)在測(cè)試階段(未全網(wǎng)發(fā)布),能授權(quán)的公眾號(hào)只能是加入到白名單中的。所以託管大量的公眾號(hào),必須要對(duì)其全網(wǎng)發(fā)布。
?
而全網(wǎng)發(fā)布的時(shí)候,微信方會(huì)進(jìn)行模擬公眾號(hào)和粉絲微訊號(hào)對(duì)你的第三方開放平臺(tái)進(jìn)行驗(yàn)證:
laravel下面的部分驗(yàn)證程式碼如下:
<span style="color: #008080;"> 1 </span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$app_id</span> == 'wx570bc396a51b8ff8'<span style="color: #000000;">){ </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$MsgType</span> == 'text'){<span style="color: #008000;">//</span><span style="color: #008000;">普通文本驗(yàn)證</span> <span style="color: #008080;"> 3</span> <span style="color: #800080;">$repType</span> = "text"<span style="color: #000000;">; </span><span style="color: #008080;"> 4</span> <span style="color: #800080;">$content</span> = <span style="color: #800080;">$this</span>-><span style="color: #000000;">getRecMsg_Content(); </span><span style="color: #008080;"> 5</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$content</span> == 'TESTCOMPONENT_MSG_TYPE_TEXT'<span style="color: #000000;">){ </span><span style="color: #008080;"> 6</span> <span style="color: #800080;">$repCont</span> = 'TESTCOMPONENT_MSG_TYPE_TEXT_callback'<span style="color: #000000;">; </span><span style="color: #008080;"> 7</span> }<span style="color: #0000ff;">else</span>{<span style="color: #008000;">//</span><span style="color: #008000;">API驗(yàn)證</span> <span style="color: #008080;"> 8</span> <span style="color: #800080;">$repCont</span> = <span style="color: #008080;">explode</span>(":",<span style="color: #800080;">$content</span>)[1];<span style="color: #008000;">//</span><span style="color: #008000;">接受微信放發(fā)來(lái)的query_auth_code</span> <span style="color: #008080;"> 9</span> <span style="color: #800080;">$msgcontent</span> = ["content"=><span style="color: #800080;">$repCont</span>.'_from_api'<span style="color: #000000;">]; </span><span style="color: #008080;">10</span> <span style="color: #008000;">//</span><span style="color: #008000;">獲取access_token</span> <span style="color: #008080;">11</span> <span style="color: #800080;">$Client</span> = <span style="color: #0000ff;">new</span> Client(['base_uri' => 'https://api.weixin.qq.com/cgi-bin/component/api_query_auth'<span style="color: #000000;">]); </span><span style="color: #008080;">12</span> <span style="color: #800080;">$client_result</span> = <span style="color: #800080;">$Client</span>->post('?component_access_token=此時(shí)有效的第三方開放平臺(tái)access_token',['json' => ['component_appid'=>'你的component_appid', 'authorization_code'=><span style="color: #800080;">$repCont</span>]])-><span style="color: #000000;">getBody(); </span><span style="color: #008080;">13</span> <span style="color: #800080;">$access_token</span> = json_decode(<span style="color: #800080;">$client_result</span>,<span style="color: #0000ff;">true</span>)['authorization_info']['authorizer_access_token'<span style="color: #000000;">]; </span><span style="color: #008080;">14</span> <span style="color: #008000;">//</span><span style="color: #008000;">發(fā)客服消息</span> <span style="color: #008080;">15</span> App::make('weixin.cp')->setAuthorizerToken(<span style="color: #800080;">$access_token</span>)->sendKeFuMsg(<span style="color: #800080;">$this</span>->getFromUserName(),'text',<span style="color: #800080;">$msgcontent</span><span style="color: #000000;">); </span><span style="color: #008080;">16</span> <span style="color: #800080;">$repCont</span> = <span style="color: #800080;">$repCont</span>.'_from_api'<span style="color: #000000;">; </span><span style="color: #008080;">17</span> <span style="color: #000000;"> } </span><span style="color: #008080;">18</span> }<span style="color: #0000ff;">elseif</span>(<span style="color: #800080;">$MsgType</span> == 'event'){<span style="color: #008000;">//事件</span><span style="color: #008000;">驗(yàn)證</span> <span style="color: #008080;">19</span> <span style="color: #800080;">$repType</span> = "text"<span style="color: #000000;">; </span><span style="color: #008080;">20</span> <span style="color: #800080;">$repCont</span> = <span style="color: #800080;">$MsgEvent</span>."from_callback"<span style="color: #000000;">; </span><span style="color: #008080;">21</span> <span style="color: #000000;"> }<br><br> //返回給微信xml </span><span style="color: #008080;">22</span> <span style="color: #800080;">$weixin_mp</span> = App::make('weixin.mp'<span style="color: #000000;">); </span><span style="color: #008080;">23</span> <span style="color: #800080;">$weixin_mp</span>->on(<span style="color: #800080;">$repType</span>, <span style="color: #0000ff;">function</span>() <span style="color: #0000ff;">use</span>(<span style="color: #800080;">$repType</span>,<span style="color: #800080;">$repCont</span><span style="color: #000000;">) { </span><span style="color: #008080;">24</span> <span style="color: #0000ff;">return</span> App::make('weixin.mp')->makeMessage(<span style="color: #800080;">$repType</span> ,<span style="color: #800080;">$repCont</span><span style="color: #000000;">); </span><span style="color: #008080;">25</span> <span style="color: #000000;"> }); </span><span style="color: #008080;">26</span> <span style="color: #800080;">$response</span> = <span style="color: #800080;">$weixin_mp</span>->trigger(<span style="color: #800080;">$repType</span><span style="color: #000000;">); </span><span style="color: #008080;">27</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$response</span><span style="color: #000000;">; </span><span style="color: #008080;">28</span> }
?
開始檢測(cè),好緊張:
?
然後結(jié)果是:
成功! ! !
?
?
?
?
微信的官方手冊(cè):
網(wǎng)布發(fā)布驗(yàn)證手冊(cè)
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318611&token=&lang=zh_CN
第四步:使用授權(quán)碼換取公眾號(hào)的介面呼叫憑證和授權(quán)資訊
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN
發(fā)客服訊息:
http://mp.weixin.qq.com/wiki/11/c88c270ae8935291626538f9c64bd123.html

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)
