服务器端消息推送

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

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

function pushMessage($touser,$content){微信

    $APPID="wxd7550fa65872c806";微信开发

    $APPSECRET="d89e344ed17382f51a7601a4c06ba40e";app

    $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;curl

    $json=file_get_contents($TOKEN_URL);ide

    $result=json_decode($json);函数

    $ACC_TOKEN=$result->access_token;post

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