弄不出来了求救,微信获取用户信息 5C
 就是运行不出来嘤嘤嘤,求大佬帮助~
<?php
header("content-type:text/html;charset=utf-8");
$appid='.....';
$appsecret='.....';
$access_token=get_access_token($appid,$appsecret);
$next_openid="";
$user=user_query($access_token,$next_openid);
show_users($user);
function show_users($user)
{
if(empty($user))
return ;
echo "用户总数:" . $user->total . "
";
echo "本次获取用户数:" . $user->count . "
";
$users=$user->data->openid;
foreach ($users as $v)
{
echo $v . "
";
}
}
function get_access_token($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);
if(curl_errno($ch))
{
echo 'Errno' .curl_error($ch);
}
curl_close($ch);
$jsoninfo=json_decode($output,true);
return $jsoninfo["access_token"];
}
function user_query($access_token,$next_openid)
{
$url="https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token&next_openid=$next_openid";
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_NOBODY,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
if(curl_errno($ch))
{
    echo 'Errno' .curl_error($ch);
}
curl_close($ch);
$data=json_decode($result);
if(!empty($data->errcode))
{
    return "";
}else
{
    return $data;
}
}
?>

2个回答

报什么错误,微信加强过安全了,获取token的服务器ip地址需要在微信后台配置过,要不会返回错误信息,还有url地址改成这样试试

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

其他变量内置到字符串的也改成连接的

调试了一下你的代码,用户的openid 已经获取出来了没问题,你还需要用openid 调用一个获取用户信息的接口,
图片说明
你问题描述的不是很清楚,我不知道你问的是上面的代码不能运行还是不能获取用户信息,你的逻辑没有问题,就是还差了一步,入上图

以下是我调试你的代码, 望采纳

 <?php
header("content-type:text/html;charset=utf-8");
$appid='';
$appsecret='';
//$access_token=get_access_token($appid,$appsecret);

$next_openid="";
$access_token = "";
$user=user_query($access_token,$next_openid);
show_users($user);
function show_users($user)
{
    if(empty($user))
    return ;
    echo "用户总数:" . $user->total . "";
    echo "本次获取用户数:" . $user->count . "\n";
    $users=$user->data->openid;
    foreach ($users as $v)
        echo $v . "\n";
}



function get_userinfo($access_token,$openid)
{
    //未经过授权的access_token
    //注:这里用的access_token是全局的access_token,即get_access_token()函数方式获取的,有别于授权access_token
    //access_token 调用接口凭证
    //openid 普通用户的标识,对当前公众号唯一
    //lang 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

    $url="https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
    $jsoninfo = getUserInfoRequest($url);
    return $jsoninfo;
}


function get_access_token($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);
    if(curl_errno($ch))
        echo 'Errno' .curl_error($ch);
    curl_close($ch);
    $jsoninfo=json_decode($output,true);
    return $jsoninfo["access_token"];
}

function user_query($access_token,$next_openid)
{
    $url="https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token&next_openid=$next_openid";
    $ch=curl_init($url);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_NOBODY,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    $result=curl_exec($ch);
    if(curl_errno($ch))
        echo 'Errno' .curl_error($ch);

    curl_close($ch);
    $data=json_decode($result);
    if(!empty($data->errcode))
    {
        return "";
    }
    else
    {
        return $data;
    }
}
?>
vipqsl
钱小驴 回复weixin_38558294: 可以私信我,帮你调
2 年多之前 回复
vipqsl
钱小驴 回复weixin_38558294: get_userinfo 注释掉吧,没有调用
2 年多之前 回复
weixin_38558294
hhhhh耗 而且$jsoninfo = getUserInfoRequest($url);这句话的getUserInfoRequest未定义,麻烦您了
2 年多之前 回复
weixin_38558294
hhhhh耗 谢谢您的回答,我的openid仍然获取不到,没有显示,就是服务器上什么内容都没有
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐