モバイルインターネットの急速な発展により、WeChatの公式アカウントは、企業や個人が情報を広めるための重要なプラットフォームになりました。公式アカウントのサブスクリプション関数は、そのコアの1つです。ユーザーが公式アカウントに従った後、最新のニュースを受け取り、公式アカウントからプッシュすることができます。
この記事では、PHPを使用してWECHATパブリックアカウントのサブスクリプション機能を開発し、特定のコードの例を提供する方法を紹介します。
公式アカウントのサブスクリプション機能を開発する前に、ユーザーのOpenIDを取得する必要があります。ユーザーが公式アカウントに従った後、公式アカウントはユーザーの情報を開発者のサーバーにプッシュします。 PHPでは、受信したXMLデータを解析することにより、ユーザーのOpenIDを取得できます。
OpenIDを取得するためのサンプルコードは次のとおりです。
<?php
$xml = file_get_contents('php://input');
$data = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$openid = $data-> fromusername;
?>
ユーザーのOpenIDを取得した後、ユーザーの情報をデータベースに保存する必要があります。
MySQLデータベースを使用して、ユーザー情報を保存できます。ユーザー情報テーブルを作成し、ユーザーOpenIDとサブスクリプション時間を保存するコード例を次に示します。
<?php
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn-> connect_error){
die( "接続失敗:"。$ conn-> connect_error);
}
$ sql = "ユーザーへの挿入(openid、subscribe_time)values( '$ openid'、now())";
if($ conn-> query($ sql)=== true){
エコー「新しいしいレコードが普通に作成された」。
} それ以外 {
エコー「エラー:」。 $ sql。 「<br> "。$ conn-> error;
}
$ conn-> close();
?>
ユーザーにサブスクリプションメッセージを送信する必要がある場合は、WeChatの公式アカウントが提供するAPIを使用してそれを呼び出すことができます。 PHPでは、Curl関数を使用してHTTPリクエストを送信できます。
まず、サブスクリプションメッセージのコンテンツを取得し、XML形式のデータにカプセル化する必要があります。次に、Curl関数を使用してPOSTリクエストを送信し、XMLデータをWeChatサーバーに送信します。
サブスクリプションメッセージを送信するためのサンプルコードは次のとおりです。
<?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(
「値」=> $コンテンツ
))
))
);
$ 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'、
'コンテンツレングス:'。 strlen($ data_json)
));
$ response = curl_exec($ ch);
if(curl_errno($ ch)){
エコー 'カールエラー:'。 curl_error($ ch);
}
curl_close($ ch);
echo $ response;
?>
上記は、PHPを使用してWECHATパブリックアカウントサブスクリプション機能を開発するための特定のコード例です。ユーザーOpenIDを取得し、ユーザー情報を保存し、サブスクリプションメッセージを送信することにより、開発者は完全なサブスクリプション機能を実現し、最新ニュースをユーザーに迅速にプッシュできます。さらに、開発者は、この機能をさらに改善および最適化することができます。