微信第三方開(kāi)放平臺(tái)全網(wǎng)發(fā)布驗(yàn)證
Sep 24, 2016 am 09:02 AM我們的業(yè)務(wù)是把大量客戶的微信公眾號(hào) 通過(guò)授權(quán) 給微信第三方開(kāi)放平臺(tái)的方式,通過(guò)第三方開(kāi)放平臺(tái)對(duì)客戶公眾號(hào)接口進(jìn)行代操作。
其中的微信第三方開(kāi)放平臺(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ì)你的第三方開(kāi)放平臺(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í)有效的第三方開(kāi)放平臺(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> }
?
開(kāi)始檢測(cè),好緊張:
?
然后結(jié)果是:
成功?。。?/p>
?
?
?
?
微信的官方手冊(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)的接口調(diào)用憑據(jù)和授權(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

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)