微信模板消息推送心得

我使用amp的軟件,上百度找到相關的代碼,複製,保存到php文件上,然後,打開瀏覽器,查看效果。遇到下面的問題

1、網頁打不開,提示連接已重置。

後來發現,原來在apache下的logs文件夾內的errors.log文件有php提示的錯誤。這方面,我沒有開啓到php的錯誤提示。

2、複製的代碼老是有問題。

這說明,我php的掌握,僅僅是皮毛。

3、JavaScript和php的交互問題。

通過微信接口推送消息,微信那塊就會返回一個json值了,而我又一知半解,對這個返回值做其它處理,結果,html的前端頁面老是收不到這個json的值。

4、單個推送的問題解決了,代碼是寫死的,要做一個功能,和前端結合,要寫一個接口。

待解決。

<?php
header('content-type:application/json;charset=utf8');  

function getNewToken($appid,$appsecret){
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
    $access_token_Arr =  curl_https_request($url);
    return $access_token_Arr['access_token'];
}
function curl_https_request ($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $out = curl_exec($ch);
        curl_close($ch);
        return  json_decode($out,true);
}

 $myappid="";
 $myappsecret="";
$ACCESS_TOKEN = getNewToken($myappid,$myappsecret) ;


$touser = array('myopenid','ouD7BuI36wSUZgteyiydmDrldQLU','ouD7BuLejq7R4Vbuyh41bH778cg0');//openid數組
$data=array( 
'touser'=>$touser[0], //要發送給用戶的openid
'template_id'=>"模板id",//改成自己的模板id,在微信後臺模板消息裏查看
'url'=>"http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //詳情的鏈接地址
'data'=>array(
  'first'=>array(
    'value'=>"親愛的同學,您有考試提醒,請查閱。",
    'color'=>"#000"
    ),
  'keyword1'=>array(
    'value'=>"2017下半年教師資格證面試",
    'color'=>"#f00"
    ), 
  'keyword2'=>array(
    'value'=>"2018-1-6",
    'color'=>"#173177"
    ), 
  'keyword3'=>array(
    'value'=>"請看您的准考證",
    'color'=>"#3d3d3d"
    ),
  'keyword4'=>array(
    'value'=>"教師資格證試講",
    'color'=>"#3d3d3d"
    ),
  'remark'=>array(
    'value'=>"\n現在是打印准考證時間,請您在考試前打印准考證,戳進來可以查看詳情>>>",
    'color'=>"#3d3d3d"
    ),
)
);


$json_data=json_encode($data);//轉化成json數組讓微信可以接收
$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$ACCESS_TOKEN;//模板消息請求URL

$res=https_request($url,urldecode($json_data));//請求開始
$arr_res=json_decode($res,true);
 // if($arr_res['errcode']==0 && $arr_res['errcode']=="ok"){
 //   echo "發送成功!";
 // }
 // echo "<br>";
 // echo "$arr_res";
 // var_dump($arr_res);
 //  echo "<br>";
 // var_dump($res);
 // echo "<br>";
 // echo "$arr_res";
 // echo "<br>";
 echo "$res";


//curl請求函數,微信都是通過該函數請求
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;
}
?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章