獲取公衆號全部用戶的信息

  1. <?php      
  2.       
  3.     $appid = "wxXXXXXXXXXXXXXXXXXX";  
  4.     $appsecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";  
  5.     $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";  
  6.        
  7.     $ch = curl_init();  
  8.     curl_setopt($ch, CURLOPT_URL, $url);  
  9.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
  10.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
  11.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  12.     $output = curl_exec($ch);  
  13.     curl_close($ch);  
  14.     $jsoninfo = json_decode($output, true);  
  15.     $access_token = $jsoninfo["access_token"];  
  16.       
  17.     $url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";  
  18.     $result = https_request($url);  
  19.     $jsoninfo = json_decode($result);  // 默認false,爲Object,如果True,爲Array  
  20.       
  21.     $data = $jsoninfo -> data;      
  22.     $arr = $data -> openid;      // 得到全部用戶的Openid  
  23.       
  24.     $temp = 0;  
  25.     while ($temp < count($arr)) {  
  26.         $openid = $arr[$temp];   
  27.         getInfo($access_token,$openid);  
  28.         $temp++;  
  29.     }  
  30.       
  31.     // 根據Openid獲取單個用戶信息,如nickname  
  32.     function getInfo($access_token,$openid){  
  33.         $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";  
  34.         $output = https_request($url);  
  35.         $jsoninfo = json_decode($output);  
  36.         //echo $jsoninfo -> headimgurl;  
  37.         echo $jsoninfo -> nickname;  
  38.         echo "<br>";            
  39.     }     
  40.        
  41.     function https_request($url)  
  42.     {         
  43.         $curl = curl_init();         
  44.         curl_setopt($curl, CURLOPT_URL, $url);         
  45.         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);         
  46.         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);         
  47.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);         
  48.         $data = curl_exec($curl);         
  49.         if (curl_errno($curl)) {return 'ERROR '.curl_error($curl);}         
  50.         curl_close($curl);         
  51.         return $data;  
  52.     }  
  53. ?> 
相關文章
相關標籤/搜索