Heim >WeChat-Applet >WeChat-Entwicklung >Senparc.Weixin.MP SDK Tutorial zur Entwicklung öffentlicher WeChat-Plattformen (3): Überprüfung der Entwicklung öffentlicher WeChat-Plattformen

Senparc.Weixin.MP SDK Tutorial zur Entwicklung öffentlicher WeChat-Plattformen (3): Überprüfung der Entwicklung öffentlicher WeChat-Plattformen

高洛峰
高洛峰Original
2017-02-22 15:34:061987Durchsuche

Um eine Verbindung zum „Entwicklungsmodus“ der öffentlichen WeChat-Plattform herzustellen, d Registrierung auf der öffentlichen Plattform), Warten Sie auf die offizielle Überprüfung. Nachdem die Überprüfung bestanden wurde, wird oben im Hintergrund das Menü „Erweiterte Funktionen“ angezeigt.

Bevor Sie „Erweiterte Funktionen“ > „Entwicklungsmodus“ verwenden können, muss eine Website im Internet bereitgestellt werden, auf die über Port 80 zugegriffen werden kann (für einige ist der Domänenname oder der IP-Zugriff akzeptabel). Entwicklungsvorbereitungen, siehe Artikel: Senparc.Weixin.MP SDK WeChat Public Platform Development Tutorial (2): Entwickler werden

Die Benutzeroberfläche nach der ersten Eingabe von „Erweiterte Funktionen“ lautet wie folgt:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Wir sehen, dass der „Bearbeitungsmodus“ standardmäßig aktiviert ist. Um den „Entwicklungsmodus“ verwenden zu können, müssen Sie zunächst den „Bearbeitungsmodus“ deaktivieren.

Klicken Sie hier, um in den Bearbeitungsmodus zu gelangen. Wie unten gezeigt:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Klicken Sie auf den Schieberegler in der oberen rechten Ecke, um die „Bearbeitungsfunktion“ zu deaktivieren.

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Gehen Sie dann zurück zu „Erweiterte Funktionen“ und rufen Sie den „Entwicklungsmodus“ auf, wie unten gezeigt:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Enter Entwicklungsmodus Schließlich müssen wir die URL einrichten, die mit dem WeChat-Server kommuniziert, und das Token, das nur wir kennen (darf nicht durchgesickert sein).

Der Beamte hat ein PHP-Versionsbeispiel bereitgestellt: http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip Sie können auch Ihre eigene Sprache gemäß den offiziellen API-Anweisungen verwenden . schreiben.

Im Open-Source-Projekt von Senparc.Weixin.MP stellen wir auch zwei Demos zur Verfügung, ASP.NET MVC und ASP.NET Web Forms, die direkt bereitgestellt werden können: https://github.com/JeffreySu /WeiXinMPSDK

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Beim Senden verwendet der WeChat-Server das Token, um die Get-Methodenanfrage für die ausgefüllte URL zu überprüfen. Wenn sie erfolgreich ist, ist die Speicherung erfolgreich Es besteht kein Erfolg, es wird eine Fehlermeldung ausgegeben und die eingegebenen Informationen können nicht gespeichert werden.

Um intuitiver zu demonstrieren, welche notwendigen Elemente in das dieser URL entsprechende Programm aufgenommen werden sollten, werde ich hier die Implementierungsmethode von Senparc.Weixin.MP angeben (ich werde MVC bzw. WebForms als Beispiele verwenden). :

Methode 1: MVC verwenden

1. Erstellen Sie einen Controller, z. B. WeixinController.cs, beziehen Sie sich auf Senparc.Weixin.MP.dll (mit Senparc.Weixin.MP.dll), Sehen Sie sich die neueste DLL an. Der Senparc.Weixin.MP.BuildOutPut-Ordner des Open-Source-Projekts https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP.BuildOutPut

2. Festlegen eine private Variable (natürlich kann sie auch in der Datenbank gespeichert werden), wie zum Beispiel:

        public readonly string Token = "weixin";//与微信公众账号后台的Token设置保持一致,区分大小写。

3. Erstellen Sie eine Aktion mit dem Namen Index für Get Anfrage, wie zum Beispiel:

        /// <summary>
        /// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url填写如:http://www.php.cn/
        /// </summary>
        [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
        {
            if (CheckSignature.Check(signature, timestamp, nonce, Token))
            {
                return Content(echostr); //返回随机字符串则表示验证通过
            }
            else
            {
                return Content("failed:" + signature + "," + MP.CheckSignature.GetSignature(timestamp, nonce, Token)+"。如果您在浏览器中看到这条信息,表明此Url可以填入微信后台。");
            }
        }

Zu diesem Zeitpunkt werden diese Codes nach Bedarf kompiliert und auf der Website bereitgestellt und die „Informationen zur Schnittstellenkonfiguration“ ausgefüllt " http://www.php.cn /, geben Sie Weixin für Token ein.

Die vollständige WeixinController.cs des obigen Codes finden Sie hier.

Methode 2: Web Forms verwenden

Der Überprüfungsprozess von Web Forms ist der gleiche wie bei MVC, aber die Schreibmethode ist etwas anders. Der Code wird hier direkt angegeben (verwenden Sie auch Senparc.Weixin). .MP.dll), vorausgesetzt, der Dateiname lautet weixin.aspx im Stammverzeichnis:

 public partial class Weixin : System.Web.UI.Page
    {
        private readonly string Token = "weixin";//与微信公众账号后台的Token设置保持一致,区分大小写。

        protected void Page_Load(object sender, EventArgs e)
        {
            string signature = Request["signature"];
            string timestamp = Request["timestamp"];
            string nonce = Request["nonce"];
            string echostr = Request["echostr"];

            if (Request.HttpMethod == "GET")
            {
                //get method - 仅在微信后台填写URL验证时触发
                if (CheckSignature.Check(signature, timestamp, nonce, Token))
                {
                    WriteContent(echostr); //返回随机字符串则表示验证通过
                }
                else
                {
                    WriteContent("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, Token));
                }
               
            }
            else
            {
                 //判断Post或其他方式请求
            }
             Response.End();
        }

        private void WriteContent(string str)
        {
            Response.Output.Write(str);
        }
}

Gemäß dem obigen Code sollte in den „Schnittstellenkonfigurationsinformationen“ die URL in http://YourDomain/weixin.aspx und das Token in weixin eingetragen werden.

Hier finden Sie den vollständigen Code der oben genannten weixin.aspx.cs (natürlich können Sie ihn auch als ashx schreiben, um die Effizienz weiter zu verbessern).

Die CheckSignature.Check()-Methode ist eine Methode zur Überprüfung von Anforderungen im Senparc.Weixin.MP SDK und wurde gekapselt. Der Zweck der direkten Verwendung besteht darin, den Code zu vereinfachen und die wichtigsten Punkte hervorzuheben. Interessierte Freunde können sich den Quellcode direkt ansehen.

Mit einer der beiden oben genannten Methoden, MVC und Web Forms, können Sie die Hintergrundüberprüfung bereits bestehen. Beachten Sie jedoch, dass die Get-Methode allein nicht mit den von WeChat-Benutzern gesendeten Informationen kommunizieren kann, da wir aus dem vorherigen Tutorial wissen, dass die URL des WeChat-Hintergrunds über die Get-Methode angefordert wird, während die Anfrage vom WeChat-Client über die Post-Methode angefordert wird Was die Post-Methode betrifft, werde ich sie in einem späteren Tutorial ausführlich erläutern.

Auch wenn Sie Post-bezogene Methoden schreiben, bedeutet dies unter der aktuellen Einstellung nicht, dass Ihr Server nach bestandener Überprüfung bereits Nachrichten vom WeChat-Server empfangen kann. Es gibt einen letzten Schritt: manuell Aktivieren Sie den „Entwicklermodus“:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

Jetzt wurde dieses WeChat-Konto erfolgreich in den „Entwicklermodus“ umgestellt. Alle vom WeChat-Client an das öffentliche Konto gesendeten Nachrichten werden weitergeleitet an die URL, die Sie gerade eingegeben haben.

Im nächsten Artikel stellen wir vor, wie man mit der „gröbsten“ Methode auf die Post-Anfrage des Kunden reagiert.

Nachdem wir die Methode „Grobbergbau“ verstanden haben, werden wir offiziell die „verfeinerte“ und „prägnante“ Methode des Senparc.Weixin.MP SDK eingeben.

Weitere Tutorials zur Entwicklung öffentlicher WeChat-Plattformen für Senparc.Weixin.MP SDK (3): Überprüfung der Entwicklung öffentlicher WeChat-Plattformen. Für verwandte Artikel achten Sie bitte auf die chinesische PHP-Website!


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