QRコードをスキャンしてワンクリックでWeChat公式アカウントをフォローするための実装コード

小云云
リリース: 2023-03-21 15:42:02
オリジナル
16203 人が閲覧しました

この記事では主に、QR コードをスキャンして WeChat パブリック アカウントをフォローし、ワンクリックでフォローする実装コードを共有します。これは、誰もが WeChat パブリック アカウント機能をより良く開発するのに役立つことを願っています。

 * 获取一键关注授权标识
 * */
public function getIdentification()
{
    $burl = "https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=" . $this->access_tokens . "";
    $result = curl_get($burl);
    preg_match('/__biz.*&mid/', $result, $matches);//正则截取字符串
    $sVid = $this->get_between($matches[0], "__biz=", "==&mid");//截取出微信公众号唯一标识
    $okurl="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=".$sVid."==&scene=124#wechat_redirect";
    jumpUrl($okurl);

}
ログイン後にコピー

PHP カスタムは文字列メソッドの中間部分をインターセプトします。これは上で使用されているので、投稿してください。

/* * php截取指定两个字符之间字符串 * */function get_between($input, $start, $end)
{    $substr = substr($input, strlen($start) + strpos($input, $start), 
(strlen($input) - strpos($input, $end)) * (-1));    return $substr;}
ログイン後にコピー

WeChat パブリック アカウントのスキャン コードを参照してください

まず、前と後ろの WeChat パブリック アカウントのスキャン コードに移動してください。コードを分離せずに

<?php
header("Content-type: text/html; charset=utf-8");
//http://pay.sucaihuo.com/project/access_token
//php获取微信access_token,appid和app_secret得到微信access_token
//php根据appid和secret获取微信access_token,php通过curl远程获取微信access_token信息
$appid = &#39;自己公众号的appid&#39;;
$secret = &#39;自己公众号的secret &#39;;
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $secret . "";
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if($result == false)
{
    echo &#39;Curl error: &#39; . curl_error($ch);
}
curl_close($ch);
$access_tokens = json_decode($result, true);
//print_r($access_tokens);
$access_token = $access_tokens[&#39;access_token&#39;];
function getTemporaryQrcode($access_token, $orderId) {
    $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" . $access_token . "";
    $qrcode = &#39;{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": &#39; . $orderId . &#39;}}}&#39;;
    $result = api_notice_increment($url, $qrcode);
    $rs = json_decode($result, true);
    return $rs;
//    return urldecode($rs[&#39;url&#39;]);
}
$rs = getTemporaryQrcode($access_token, 1123);
//print_r($rs);
$ticket = $rs[&#39;ticket&#39;];
$qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" . $ticket . "";
//print_r($qrcode);
function api_notice_increment($url, $data) {
    $ch = curl_init();
//    $header = "Content-type: text/xml";
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)&#39;);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);
    if (curl_errno($ch)) {
        curl_close($ch);
        return $ch;
    } else {
        curl_close($ch);
        return $tmpInfo;
    }
}
?>
<p style="text-align: center;">
<p>关注素材火公众号</p>
<img src="<?php echo $qrcode; ?>" alt="关注公众号二维码" style="width:100px;height:100px;"/>
</p>
ログイン後にコピー

次に、変更したコードをインターフェースに配置します

postメソッド

class Wxfollow
{
    protected $appid = &#39;wxf1d959b99f33b156&#39;;
    protected $secret = &#39;248f3a560604555ec96215c085cb2723&#39;;
    protected $url = "";
    protected $access_tokens = "";


   public function __construct()
    {
        //获取$access_token
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->secret . "";
        $result = curl_post($url);
        $access_tokens = json_decode($result, true);
        $this->access_tokens = $access_tokens[&#39;access_token&#39;];

    }
    public function Follow(){
        //非必传项
        $rs = $this->getTemporaryQrcode($this->access_tokens, 123);
        $ticket = $rs[&#39;ticket&#39;];
        $qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" . $ticket . "";
        ///打印二维码显示
        jumpUrl($qrcode);
    }

//生成二维码
    public function getTemporaryQrcode($access_tokens,$orderId)
    {
        $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" .$access_tokens . "";
//生成二维码需要的参数
        $qrcode = &#39;{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": &#39; . $orderId . &#39;}}}&#39;;
        $momo = json_decode($qrcode, true);

        $result = curl_post($url, $momo);
        $rs = json_decode($result, true);
        return $rs;
    }
ログイン後にコピー

curlカプセル化クラス

function curl_post($url, array $params = array())
{
    $data_string = json_encode($params);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_HTTPHEADER,
        array(
            &#39;Content-Type: application/json&#39;
        )
    );
    $data = curl_exec($ch);
    curl_close($ch);
    return ($data);
}
ログイン後にコピー

関連する推奨事項:

PHPを使用して、ユーザーがWeChat公開アカウントをフォローしているかどうかを判断します

WeChat ID コード番号 QR コード画像に基づいて WeChat パブリック アカウントを自動的に生成してフォローする方法

PHP バックグラウンドでの WeChat パブリック アカウント開発の例

以上がQRコードをスキャンしてワンクリックでWeChat公式アカウントをフォローするための実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!