>백엔드 개발 >PHP 튜토리얼 >微信公众号怎么主动给用户发送信息

微信公众号怎么主动给用户发送信息

PHPz
PHPz원래의
2016-06-06 20:33:3911288검색

微信公众号主动给用户发送信息的方法:首先在公众号后台功能模块中添加“客服功能”模块;然后获取“access_token”并调用发送方法;最后在使用时直接调用“sendmsg()”方法传值即可。

微信公众号怎么主动给用户发送信息

微信公众号怎么主动给用户发送信息?

首先,先在公众号后台功能模块中-》添加功能模块  添加   客服功能   模块

如图所示:

企业微信截图_15921877152275.png

 

然后就进入代码环节了。

先添加客服。也可以公众号后台添加

//先添加客服
function addkf()
{
    $token = getToken();
    $url = ‘https://api.weixin.qq.com/customservice/kfaccount/add?access_token=‘.$token;
    $data = ‘{
         "kf_account" : "system@system",
         "nickname" : "客服1",
         "password" : "admin",
    }‘;
    echo https_request($url,$data);
}

然后就是主动发送消息的方法

//获取access_token的方法。
function getToken()
{
    $appid = ‘appid‘;
    $appsecret = ‘appsecret‘;
    $token_file = dirname(dirname(__FILE__)).‘/data/token.txt‘;
    if(!file_exists($token_file) || ((time() - filemtime($token_file)) > 7000)){
        $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
        $json=file_get_contents($TOKEN_URL);
        $result=json_decode($json);
        $ACC_TOKEN=$result->access_token;
        file_put_contents($token_file,$ACC_TOKEN);
    }else{
        $ACC_TOKEN = file_get_contents($token_file);
    }
    return $ACC_TOKEN;
}
//调用发送方法
function sendmsg($content,$openid)
{
    $token = getToken();
    $url = ‘https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=‘.$token;
    $content = ‘感谢你的关注\n回复你厉害 \n例如<a href=\"http://www.baidu.com\">回复123456</a>‘;
    $data = ‘{
        "touser":"‘.$openid.‘",
        "msgtype":"text",
        "text":
        {
             "content":"‘.$content.‘"
        }
    }‘;
    https_request($url,$data);
    return true;
}
/**
 * request 请求
 */
function https_request($url, $data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}

使用的时候直接调用 sendmsg()方法传值就可以了。

最后上完成的图

企业微信截图_15921877245039.png

如图所示,公众号可以给用户发送消息,而且发送的内容你可以使用html 标签哦

虽然这样感觉很方便,但是同样,微信公众平台对此也有限制。

1.用户必须关注公众号,方可收到信息。

2.用户只能连续收到   20   条客服消息。超过后用户就收不到消息,

超过后,用户必须   主动给公众号发送消息  。或者  点击菜单栏,这样20条消息的限制就会重置。

更多相关知识,请访问PHP中文网

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.