在做微信公众开发时,你是否会遇到一种需求,在某一时刻向用户推送消息,比如向用户发送一条消息,通知用户相关信息,微信开发官方文档相对简洁,对于初学者较难理解,最近做开发,遇到了类似的需求,通过各方面的学习研究,写了一些代码,这些代码在项目中正常运行,各位可以参考一下。我提供的代码是基于 PHP 的,仅供参考。

    首先,pushMessage 是推送消息的函数,$APPID 是公众平台的APPID,$APPSECRET是公众平台的APPSECRET

function pushMessage($touser,$content){

    $APPID="wxd7550fa65872c806";

    $APPSECRET="d89e344ed17382f51a7601a4c06ba40e";

    $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;

    $data = '{

        "touser":"'.$touser.'",

        "msgtype":"text",

        "text":

        {

             "content":"'.$content.'"

        }

    }';

    $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$ACC_TOKEN;

    $result = https_post($url,$data);

    $final = json_decode($result);

    return $final;

}


function https_post($url,$data)

{

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url); 

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

    curl_setopt($curl, CURLOPT_POST, 1);

    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($curl);

    if (curl_errno($curl)) {

       return 'Errno'.curl_error($curl);

    }

    curl_close($curl);

    return $result;

}

像下面这样调用即可:

$toUsername = "目标用户的微信openid";

$content = '审核进度已改变';

pushMessage($toUsername,$content);