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