Maison > Article > développement back-end > Comment utiliser PHP pour implémenter la fonction push de messages des comptes publics
Comment utiliser PHP pour implémenter la fonction de transmission de messages des comptes publics
Avec la popularité de l'Internet mobile, les comptes publics sont devenus un canal important pour de nombreuses entreprises et particuliers pour diffuser des informations. Dans les comptes publics, la fonction de transmission de messages est un élément indispensable. Cet article explique comment utiliser PHP pour implémenter la fonction de transmission de messages des comptes publics et fournit des exemples de code spécifiques.
Avant de commencer à implémenter la fonction de transmission de messages, nous devons préparer les deux choses suivantes :
Avant d'utiliser la fonction de message push du compte officiel, nous devons d'abord obtenir le jeton d'accès. Access Token est un certificat permettant d'appeler l'interface de la plateforme publique WeChat. Il a une certaine durée de validité, généralement 2 heures. Le jeton d'accès peut être obtenu via le code suivant :
$apiUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=YOUR_APPID&secret=YOUR_APPSECRET"; $response = file_get_contents($apiUrl); $data = json_decode($response, true); $accessToken = $data['access_token'];
Remplacez "YOUR_APPID" et "YOUR_APPSECRET" dans le code ci-dessus par l'AppID et l'AppSecret de votre propre compte officiel. Après avoir exécuté le code ci-dessus, enregistrez le $accessToken obtenu pour une utilisation ultérieure.
Après avoir obtenu le jeton d'accès, nous pouvons utiliser PHP pour envoyer des messages à l'utilisateur spécifié. Voici un exemple de code pour envoyer un message texte :
$apiUrl = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $accessToken; $data = array( 'touser' => 'OPENID_OF_USER', 'msgtype' => 'text', 'text' => array( 'content' => 'Hello, world!' ) ); $options = array( 'http' => array( 'header' => "Content-Type: application/json ", 'method' => 'POST', 'content' => json_encode($data) ) ); $context = stream_context_create($options); $result = file_get_contents($apiUrl, false, $context);
Dans le code ci-dessus, remplacez "OPENID_OF_USER" par l'OpenID de l'utilisateur à qui vous souhaitez envoyer le message. Après avoir exécuté le code ci-dessus, un message texte « Bonjour tout le monde ! » sera envoyé à l'utilisateur spécifié.
En plus d'envoyer des messages texte, vous pouvez également envoyer des images, de l'audio, de la vidéo et d'autres types de messages. Pour les types de messages spécifiques et les descriptions de champs, veuillez vous référer à la documentation de développement de la plateforme publique WeChat.
Dans le développement réel, le processus d'envoi de messages peut prendre du temps. Afin de ne pas bloquer d'autres traitements métier, nous pouvons mettre le code d'envoi de messages dans une tâche asynchrone pour exécution. Voici un exemple de code qui utilise le multi-processus de PHP pour envoyer des messages de manière asynchrone :
$pid = pcntl_fork(); if ($pid == -1) { // fork失败 die('Could not fork'); } else if ($pid) { // 父进程 return; } else { // 子进程 // 发送消息的代码 // ... exit(); }
Placez le code d'envoi de messages dans le "processus enfant", afin que vous puissiez continuer à gérer d'autres tâches dans le processus parent.
Résumé
L'utilisation de PHP pour implémenter la fonction de transmission de messages des comptes officiels peut nous aider à mieux communiquer et interagir avec les utilisateurs. Grâce à la méthode présentée dans cet article, vous pouvez facilement implémenter la fonction de transmission de messages du compte public via le code PHP et l'étendre en fonction des besoins réels. J'espère que cet article pourra vous être utile !
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!