Heim  >  Artikel  >  php教程  >  Netzwerkweite Release-Überprüfung der offenen WeChat-Plattform eines Drittanbieters

Netzwerkweite Release-Überprüfung der offenen WeChat-Plattform eines Drittanbieters

WBOY
WBOYOriginal
2016-09-24 09:02:491696Durchsuche

Unser Geschäft besteht darin, die öffentlichen WeChat-Konten einer großen Anzahl von Kunden für die offene WeChat-Plattform eines Drittanbieters zu autorisieren und die Schnittstelle für öffentliche Kundenkonten über die offene Plattform eines Drittanbieters zu betreiben.

Die offene Drittanbieterplattform WeChat befindet sich in der Testphase (noch nicht für das gesamte Netzwerk freigegeben) und die autorisierten offiziellen Konten können nur zur Whitelist hinzugefügt werden. Daher muss das Hosten einer großen Anzahl öffentlicher Konten im gesamten Netzwerk veröffentlicht werden.

Bei der Veröffentlichung im gesamten Netzwerk simuliert WeChat öffentliche Konten und Fan-WeChat-IDs, um die offene Plattform Ihres Drittanbieters zu überprüfen:

Ein Teil des Bestätigungscodes unter Laravel lautet wie folgt:

<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;">普通文本验证</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验证</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;">接受微信放发来的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=此时有效的第三方开放平台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;">发客服消息</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;">验证</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>         }

Mit dem Testen beginnen, so nervös:

Dann ist das Ergebnis:

Erfolg! ! !

Offizielles Handbuch von WeChat:

Web Publishing-Verifizierungshandbuch

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

Schritt 4: Verwenden Sie den Autorisierungscode, um die Anmeldeinformationen und Autorisierungsinformationen für die Schnittstelle des offiziellen Kontos auszutauschen

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

Kundendienstnachricht senden:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:(学习笔记)laravel 中间件Nächster Artikel:对接口进行两次请求