微信平台PHP(测试号),学习笔记(二)

在后台主动给用户发信息(不是模版)


1.首先需要获取用户的OpenID,这个OpenID可以通过接口用code获取,当用户用微信访问页面时,会自带code

用户第一次访问页面时,会以GET方式把code带过去

获取参数,传到后台

组装这个地址

$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=‘’&secret=‘’&code=‘’&grant_type=authorization_code";

$result = https_request($url);

$jsoninfo = json_decode($result, true);
$openid = $jsoninfo["openid"];//从返回json结果中读出openid


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


2.利用OpenID给用户主动发信息

function send_custom_message($touser, $type, $data){
        $msg = array('touser' =>$touser);
        switch($type)
        {
            case 'text':
                $msg['msgtype'] = 'text';
                $msg['text']    = array('content'=> urlencode($data));
                break;
        }
        $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".access_token;
        return https_request($url, urldecode(json_encode($msg)));
    }

此处$val['openid'] 为你要发送微信的openid

$information 为要发送的内容

send_custom_message($val['Openid'], "text", $information);

开发者模式下自定义菜单:

微信公众平台接口调试工具 

1.通过appid以及secret来获取access_token

appid = 'YouOpenid;

$appsecret = 'YouAppsecret';


$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret=$appsecret";
$output = https_request($url);
$jsoninfo = json_decode($output,true);
$access_token = $jsoninfo["6_x0cBtjE-S6bJntTiB63NdXGnW0YsKX_UMTYGsTInNFFXbIUvzzwyvvwnb8rhynQjVuK-fDuLErC242ZL6wJVqPMZTG1_qB12ya8_g0-523HbWJ3ogin5pJd7ZYsCSGcAGAQGU"];

$jsonmenu = '{
     "button":[
        {
          "name":"功能大全",
          "sub_button":[
                {
                    "type":"click",
                    "name":"下单",
                    "key":"下单"
                },
                {
                    "type":"click",
                    "name":"注册",
                    "key":"注册"
                } 
          ]
        },
        {
            "name":"使用教程",
          "sub_button":[
                {
                    "type":"click",
                    "name":"用户注册",
                    "key":"用户注册"
                },
                {
                    "type":"click",
                    "name":"用户下单",
                    "key":"用户下单"
                },
                {
                    "type":"click",
                    "name":"如何成为回收员",
                    "key":"如何成为回收员"
                },
          ]
        },{
            "name":"使用教程",
          "sub_button":[
                {
                    "type":"click",
                    "name":"用户注册",
                    "key":"用户注册"
                },
                {
                    "type":"click",
                    "name":"用户下单",
                    "key":"用户下单"
                },
                {
                    "type":"click",
                    "name":"如何成为回收员",
                    "key":"如何成为回收员"
                },
          ]
        }


//创建菜单实现
  $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token;
  $result = https_request($url,$jsonmenu);
  var_dump($result);
  function https_request($url,$data = null){
      $curl = curl_init();
      curl_setopt($curl,CURLOPT_URL,$url);
      curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
      curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
      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;
  }

    ]
  }';

也可以在公众号的接口调试工具- - -选择 ‘自定义菜单’的接口类型

填入access_token,以及上面构建好的菜单内容。

猜你喜欢

转载自blog.csdn.net/qq_36289732/article/details/79338223
今日推荐