Récemment, j'ai appris que WeChat avait mis à niveau les comptes publics d'entreprise vers WeChat d'entreprise. Je m'en fichais à l'époque, mais j'ai découvert plus tard que le programme qui utilisait l'interface du compte public de l'entreprise pour envoyer des messages de notification ne pouvait plus envoyer de messages. Cet article partagera avec vous les raisons et les solutions en cas d'échec d'envoi de messages après la mise à niveau du compte officiel de l'entreprise vers WeChat d'entreprise.
Connectez-vous au nouveau backend et vérifiez-le, et constatez que la valeur secrète de l'application a changé, avec moins de chiffres qu'auparavant. Après avoir remplacé la valeur Secret dans le code par une nouvelle, j'ai constaté que cela ne fonctionnait toujours pas. Après le débogage, j'ai trouvé une erreur lors de l'utilisation de la requête de publication pour appeler l'interface afin d'envoyer un message : {"errcode":-1,"errmsg":"Invalid input"}. Il peut y avoir deux raisons à l'analyse : l'adresse de l'interface d'envoi de message appelée est erronée ou le format des paramètres de publication transmis est erroné ;
Heureusement, j'ai trouvé la documentation de l'API pour Enterprise WeChat sur son site officiel : https://work.weixin.qq.com/api/doc, qui contient des instructions d'utilisation plus détaillées. Il a été confirmé que l'adresse URL de l'interface appelante n'a pas changé (https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN est toujours utilisé pour envoyer des messages). Cependant, j'ai trouvé que le format du message texte est un peu différent. L'exemple du site officiel est le suivant :
{ "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>,聪明避开排队。" } }
L'ID utilisateur et l'ID de fête ci-dessus auraient dû être. passé sous forme de valeurs numériques auparavant, mais dans l'exemple s'il est placé entre guillemets, il sera traité comme une chaîne. J'ai donc changé le code en chaîne et je l'ai essayé, et cela a fonctionné. . .
Recommandations associées :
Développement d'interface API de plate-forme publique Enterprise WeChat, tutoriel 3G website_PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!