Kürzlich habe ich die Nachricht gesehen, dass WeChat öffentliche Unternehmenskonten auf Unternehmens-WeChat aktualisiert hat. Damals war mir das egal, aber später stellte ich fest, dass das Programm, das die Schnittstelle des öffentlichen Kontos des Unternehmens zum Versenden von Benachrichtigungsnachrichten nutzte, keine Nachrichten mehr senden konnte. In diesem Artikel erfahren Sie mehr über die Gründe und Lösungen für das Versäumnis, Nachrichten zu senden, nachdem das offizielle Unternehmenskonto auf WeChat des Unternehmens aktualisiert wurde.
Melden Sie sich beim neuen Backend an, überprüfen Sie es und stellen Sie fest, dass sich der Secret-Wert der Anwendung geändert hat, mit weniger Ziffern als zuvor. Nachdem ich den Secret-Wert im Code durch einen neuen ersetzt hatte, stellte ich fest, dass es immer noch nicht funktionierte. Nach dem Debuggen habe ich einen Fehler gefunden, als ich die Post-Anfrage zum Aufrufen der Schnittstelle zum Senden einer Nachricht verwendete: {"errcode":-1,"errmsg": "Invalid input"}. Für die Analyse kann es zwei Gründe geben: Die Adresse der aufgerufenen Nachrichtensendeschnittstelle ist falsch oder das Format der übergebenen Post-Parameter ist falsch.
Glücklicherweise habe ich die API-Dokumentation für Enterprise WeChat auf der offiziellen Website gefunden: https://work.weixin.qq.com/api/doc, die detailliertere Gebrauchsanweisungen enthält. Es wurde bestätigt, dass sich die URL-Adresse der aufrufenden Schnittstelle nicht geändert hat (https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN wird weiterhin zum Senden von Nachrichten verwendet). Ich habe jedoch festgestellt, dass das Format der Textnachricht etwas anders ist. Das offizielle Website-Beispiel lautet wie folgt:
{ "touser" : "UserID1|UserID2|UserID3", "toparty" : " PartyID1|PartyID2 ", "totag" : " TagID1 | TagID2 ", "msgtype" : "text", "agentid" : 1, "text" : { "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。" } }
Die obige UserID und PartyID hätten lauten sollen Früher wurde er als numerischer Wert übergeben, aber im Beispiel wird er als Zeichenfolge behandelt, wenn er in Anführungszeichen gesetzt wird. Also habe ich den Code in einen String geändert und es ausprobiert, und es hat funktioniert. . .
Verwandte Empfehlungen:
Enterprise WeChat öffentliche Plattform API-Schnittstellenentwicklung 3G-Website_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonGründe dafür, dass Nachrichten nicht gesendet werden können, nachdem das öffentliche Unternehmenskonto auf Enterprise WeChat aktualisiert wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!