Cara menggunakan PHP untuk membangunkan fungsi langganan akaun awam
Dengan perkembangan pesat Internet mudah alih, akaun awam WeChat telah menjadi pilihan popular untuk banyak syarikat dan individu saluran penting untuk menyebarkan maklumat. Fungsi langganan adalah salah satu fungsi teras akaun rasmi Selepas pengguna mengikuti akaun rasmi, mereka boleh menerima berita terkini dan menolak kemas kini daripada akaun rasmi.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi langganan akaun awam dan menyediakan contoh kod khusus.
Sebelum membangunkan fungsi langganan akaun awam, anda perlu mendapatkan openid pengguna terlebih dahulu. Selepas pengguna mengikuti akaun rasmi, akaun rasmi akan menolak maklumat pengguna ke pelayan pembangun. Dalam PHP, openid pengguna boleh diperolehi dengan menghuraikan data XML yang diterima.
Berikut ialah contoh kod:
<?php $xml = file_get_contents('php://input'); $data = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $openid = $data->FromUserName;
Selepas mendapatkan pengguna, kami menerima perlu Simpan maklumat pengguna dalam pangkalan data supaya mesej seterusnya boleh ditolak berdasarkan openid.
Di sini kita boleh menggunakan pangkalan data MySQL untuk menyimpan maklumat pengguna. Pertama, anda perlu membuat jadual pengguna, termasuk medan openid, subscribe_time, dsb.
Kod sampel adalah seperti berikut:
<?php $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO users (openid, subscribe_time) VALUES ('$openid', NOW())"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close();
Apabila kita perlu menghantar langganan mesej kepada pengguna, Anda boleh menggunakan API yang disediakan oleh akaun rasmi WeChat untuk membuat panggilan. Dalam PHP, anda boleh menggunakan fungsi curl untuk menghantar permintaan HTTP.
Pertama, kita perlu mendapatkan kandungan mesej langganan dan merangkumnya ke dalam data dalam format XML. Kemudian, gunakan fungsi curl untuk menghantar permintaan POST untuk menghantar data XML ke pelayan WeChat.
Kod sampel adalah seperti berikut:
<?php $access_token = "youraccess_token"; $openid = "useropenid"; $template_id = "yourtemplateid"; $content = "yourcontent"; $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $access_token; $data = array( "touser" => $openid, "template_id" => $template_id, "data" => array( "content" => array( "value" => $content ) ) ); $data_json = json_encode($data); $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_json)) ); $response = curl_exec($ch); if(curl_errno($ch)){ echo 'Curl error: ' . curl_error($ch); } curl_close($ch); echo $response;
Di atas ialah contoh kod khusus untuk menggunakan PHP untuk membangunkan fungsi langganan akaun awam. Dengan mendapatkan openid pengguna, menyimpan maklumat pengguna dan menghantar mesej langganan, kami boleh melaksanakan fungsi langganan akaun awam dan menolak berita terkini kepada pengguna. Pada masa yang sama, kita juga boleh menambah baik lagi pelaksanaan fungsi mengikut keperluan tertentu.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan fungsi langganan akaun awam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!