评论

php获取微信公众号评论留言数据

php获取微信公众号评论留言数据


官方文档地址:查看指定文章的评论数据(新增接口)

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1494572718_WzHIY

使用说明:这是我平时用于留言随机抽奖的部分代码,主要可以将评论的openid和留言内容等信息写入数据,供后续抽奖及下发红包使用。

1.获取access token

这部分不做讲解,参照我们之前发布的文章。

2.调用接口

$msg_data_id=$_GET['id'];
  
   $page=$_GET['page'];
  $page3=$page+1;
   
  if($page==1){
       
      $page2='0';
       
  }else{
       
       
      $page2=$page*1;
  }
   
$data = '{
"msg_data_id":"'.$msg_data_id.'",
"index":"0",
"begin":"'.$page2.'",
"count":"1",
"type":"0"
}';
$url = "https://api.weixin.qq.com/cgi-bin/comment/list?access_token=$access_token";
$result = https_request($url, $data);
  
//var_dump($result);
  
//echo $result;
  
$obj=json_decode($result);
  
  $data=$obj->comment;
  $i=0;
   foreach ( $data as $unit )
   {
       $i++;
       $arr[$i]['user_comment_id']=$unit->user_comment_id;
       $arr[$i]['content']=$unit->content;
       $arr[$i]['openid']=$unit->openid;
        
     //  echo $arr[$i]['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);
    curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
    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;
}


点赞 0
收藏
评论

2 个评论

  • ⁽⁽ଘ🇱 🇭 🇫 ଓ⁾⁾
    ⁽⁽ଘ🇱 🇭 🇫 ଓ⁾⁾
    2021-04-12

    这接口数据,每条评论只能获取到一个回复,且回复内容只是最早的回复,后续回复都获取不到,接口本身就是这样设计的嘛

    2021-04-12
    赞同 1
    回复 1
    • 不忘初心(加好友请备注来意)
      不忘初心(加好友请备注来意)
      2022-07-06
      同问,我看一些第三方是可以获取到追评的,但是我翻遍微信的官方文档没找到这种api,总不至于使用爬虫获取的吧。
      2022-07-06
      回复
  • 易先生
    易先生
    2020-10-18

    带留言功能的个人订阅号可以用吗?

    我试了一下为啥显示

    {"errcode":48001,"errmsg":"api unauthorized

    2020-10-18
    赞同
    回复 2
    • 大白
      大白
      2020-12-21
      这个接口需要认证的订阅号或服务号才可以调用
      2020-12-21
      回复
    • James
      James
      2021-01-12回复大白
      你好,接口需要认证,怎么认证呢?谢谢
      2021-01-12
      回复
登录 后发表内容