鍍金池/ 問(wèn)答/PHP  數(shù)據(jù)庫(kù)/ 通過(guò)access_token獲取關(guān)注用戶列表時(shí) 顯示無(wú)法進(jìn)行此操作

通過(guò)access_token獲取關(guān)注用戶列表時(shí) 顯示無(wú)法進(jìn)行此操作

在獲取access_token后 通過(guò)access_token獲取關(guān)注用戶列表時(shí) 顯示無(wú)法進(jìn)行此操作 這是什么情況?

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret 

";

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $output = curl_exec($ch);
  curl_close($ch);
  $jsoninfo = json_decode($output, true);
  $access_token = $jsoninfo["access_token"];
  //echo $access_token;
  
  //獲取到openid

 
  //獲取用戶列表
  function userlist($access_token){
       $url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID 

';
       $content = $this->request($url);

       $content = json_decode($content);
       $openidList = $content -> data->openid;
       var_dump($openidList);

       echo '關(guān)注人數(shù)為:'.$content->total.'人.<br/>';
       echo 'openid列表為:<br/>';
       foreach($openidList as $key => $value){
           echo $value.'<br/>';
       }
   }
回答
編輯回答
慢半拍

你可能是公眾號(hào)沒(méi)有認(rèn)證,所以沒(méi)有權(quán)限吧!

以下是2018.3.30修改:

第1:你貼的是源碼,不是錯(cuò)誤代碼!
第2:你的源碼也是不完整的,別人根本沒(méi)有辦法調(diào)試!比如:
$content = $this->request($url);
請(qǐng)問(wèn):$this是什么對(duì)象?request方法的定義是怎樣的?
第3:你的源碼也是存在明顯的錯(cuò)誤的。在PHP中,單引號(hào)里的變量是當(dāng)字符串處理的,所以

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID
';

這一句,你請(qǐng)求的網(wǎng)址就真的是:

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID

這是不對(duì)的,應(yīng)該用雙引號(hào)。并且,你的參數(shù)NEXT_OPENID應(yīng)該是個(gè)變量,而你這里只是一個(gè)大寫字母的字符串!
綜上所述,你的代碼無(wú)法獲取用戶信息是正常的,和公眾號(hào)權(quán)限無(wú)關(guān),是代碼級(jí)問(wèn)題!
最后,附上一段可執(zhí)行的代碼,供你參考:

<?php
$appid='';//寫上你的appid
$appsecret='';//寫上你的密鑰
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
echo $access_token;

//獲取到openid
userlist($access_token);

//獲取用戶列表
function userlist($access_token){

   $url="https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";
echo 'url'.$url;

   // $content = $this->request($url);
   $content=curl1($url);
   print_r($content);
   $content = json_dcode($content);
   $openidList = $content -> data->openid;
   var_dump($openidList);

   echo '關(guān)注人數(shù)為:'.$content->total.'人.<br/>';
   echo 'openid列表為:<br/>';
   foreach($openidList as $key => $value){
       echo $value.'<br/>';
   }
}

function curl1($url1){

$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch1);
curl_close($ch1);
return $output;
}
2017年4月14日 05:09
編輯回答
乞許

錯(cuò)誤貼出來(lái)看看呀

2017年8月6日 06:48