ホームページ  >  記事  >  バックエンド開発  >  WeChatパブリックアカウント構築PHPコード

WeChatパブリックアカウント構築PHPコード

PHPz
PHPzオリジナル
2023-03-29 10:13:38864ブラウズ

インターネット時代の到来により、さまざまな新興ソーシャルメディアが次々と登場しました。新興ソーシャル メディアとして、WeChat 公式アカウントは、多くの人々の日常的な交流に欠かせないものの 1 つになりました。開発者として WeChat 公開アカウントを自分で構築したい場合は、特定のスキルを習得する必要があります。この記事では、PHP コードを使用して WeChat 公開アカウントを構築する方法を紹介します。

1. WeChat パブリック プラットフォーム アカウントの登録

WeChat パブリック アカウントを設定したい場合は、まず WeChat パブリック プラットフォームにアカウントを登録する必要があります。登録手順は複雑ではなく、公式アカウント名、種類、認証の種類などの必要情報を入力するだけです。公式アカウントに認証が必要な場合は、認証に必要な資料も提出する必要があることに注意してください。

2. appID と appsecret の取得

WeChat 公式アカウントを登録したら、appID と appsecret を取得する必要があります。これら 2 つのパラメータは、独自のサーバーと WeChat パブリック プラットフォームを接続するための重要なパラメータです。 WeChat パブリック プラットフォームにログインし、開発者センターで「開発者 ID」を見つけてクリックして入力し、appID と appsecret を取得します。

3. サーバー環境の構築

appID と appsecret を取得したら、アプリケーションと WeChat パブリック プラットフォームを接続するサーバーを構築する必要があります。独自のサーバーがない場合は、Alibaba Cloud、Tencent Cloud などのクラウド サーバーにアプリケーションをデプロイすることを選択できます。

4. PHP コードを記述する

サーバー環境がセットアップされたら、WeChat パブリック プラットフォームと通信するための PHP コードを記述する必要があります。具体的な手順は次のとおりです。

  1. まず、index.php などの PHP ファイルを作成する必要があります。このファイルはサーバーに配置することも、ftp 経由でクラウド サーバーにアップロードすることもできます。
  2. PHP ファイルでは、WeChat パブリック プラットフォームにアクセスするときに URL リンクを指定する必要があります。ここの URL リンクには、WeChat パブリック プラットフォームから渡されたトークン値と echostr 値が含まれています。
  3. リクエストパラメータを取得するには、getToken() 関数を定義する必要があります。取得したパラメータを並べ替えて連結して文字列を形成します。
  4. カスタム検証機能。WeChat パブリック プラットフォームによって送信されたリクエストが合法かどうかを検証するために使用されます。
  5. ユーザーが公式アカウントとやり取りするためのメッセージ返信機能を定義します。

具体的なコードは次のとおりです:

<?php

//获取微信公众平台的请求参数
function getToken() {
  $token = "yourtoken"; //此处输入你的token值
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
  $signature = $_GET["signature"];
  $echostr = $_GET["echostr"];
  
  $arr = array($timestamp, $nonce, $token);
  sort($arr, SORT_STRING);
  $str = implode($arr);
  $str = sha1($str);
  
  if($str == $signature) {
    echo $echostr;
  }
}

//验证请求是否合法
function checkSignature() {
  $token = "yourtoken";
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];

  $arr = array($token, $timestamp, $nonce);
  sort($arr);
  $str = sha1(implode($arr));

  if ($str == $signature) {
    return true;
  } else {
    return false;
  }
}

//消息回复函数
function responseMsg() {
  //获取微信公众平台POST过来的数据
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
  
  if (!empty($postStr)) {
    //解析POST过来的XML数据包
    $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $time = time();
    
    //定义消息类型
    $textTpl = "<xml>
         <ToUserName><![CDATA[%s]]></ToUserName>
         <FromUserName><![CDATA[%s]]></FromUserName>
         <CreateTime>%s</CreateTime>
         <MsgType><![CDATA[%s]]></MsgType>
         <Content><![CDATA[%s]]></Content>
         <FuncFlag>0</FuncFlag>
         </xml>";       
     
    if(!empty($keyword)) {
      $contentStr = "Welcome ".$fromUsername." to our site!";
      $msgType = "text";
      $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
      echo $resultStr;
    } else {
      echo "Input something...";
    }
  
  } else {
    echo "";
    exit;
  }
}

//主函数
if (checkSignature()) {
  if (isset($_GET['echostr'])) {
    getToken();
    exit;
  } else {
    responseMsg();
  }
} else {
  echo "";
  exit;
}

?>

5. コードをサーバーと WeChat パブリック プラットフォームにデプロイします

記述したコードを自分のサーバーにアップロードします。 WeChat パブリック プラットフォームで設定するだけです。

6. 概要

この記事の導入部分を通じて、PHP コードを使用して WeChat パブリック アカウント アプリケーションを構築する方法を学ぶことができます。実際の運用プロセスでは、アプリケーションのテスト、適時のアプリケーションの更新など、いくつかの詳細にも注意を払う必要があります。これらのスキルをマスターすれば、あなたも優秀な WeChat 公式アカウント開発者になれると信じています。

以上がWeChatパブリックアカウント構築PHPコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。