微信公众平接口

  • 获取到token
    首先把公众号的 appidappsecret 拿到
    然后调用这两个获取到网址,再访问该网址获取到token值
  • 使用 file_get_contents($url) 访问该网址,然后用json_decode() 解析

  • 还有另一种方法就是使用curl 去访问该网址

  • 后面就是要使用到这个access_token 去做其他几口了

下面就是一个获取用户列表以及通过用户列表去获取用户的基本信息

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

    $output = (array)json_decode(gettoken($url));
    //$output['access_token']

    /***
    * 获取到用户列表
    ***/
    $user_list_url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$output['access_token'];

    // echo $user_list_url;
    $user_result = (array)json_decode(gettoken($user_list_url));
    $useropenidarr =  (array)$user_result['data'];
    //第一个用户的 openid $useropenidarr['openid'][0]

    // 获取单用户的基本信息
    // $user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$output['access_token']."&openid=".$useropenidarr['openid'][0]."&lang=zh_CN";
    // $user_info_result = json_decode(gettoken($user_info_url));
    
    // echo '<pre>';
    // print_r($user_info_result);
    // echo '</pre>';

    //循环获取用户的openid
    foreach ($useropenidarr['openid'] as $openid)
    {
        $user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$output['access_token']."&openid=".$openid."&lang=zh_CN";
        $user_info_result = json_decode(gettoken($user_info_url));
        
        echo '<pre>';
        print_r($user_info_result);
        echo '</pre>';
    }


    function gettoken($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的结果作为变量存储,不直接输出
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36");
        curl_setopt($ch, CURLOPT_ENCODING, "gzip");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }

    function longtoshort($data,$url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36");
        curl_setopt($ch, CURLOPT_ENCODING, "gzip");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的结果作为变量存储,不直接输出

        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、什么是OAuth2.0 官方网站:http://oauth.net/ http://oauth.net/2/ ...
    孤酒独酌阅读 12,526评论 0 3
  • 1.注册微信公众号,新浪云 2.新浪云-->云应用-->创建新应用-->运行环境(PHP5.3),其他的自己填写,...
    梦想秀阅读 3,964评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • 1 去微信开放平台创建应用 审核通过后会得到AppID和AppSecret(这两个很重要) 2 接入自己的网站 (...
    史史小子阅读 5,002评论 0 2
  • 北漂日记 (一) 写给在梦想路上的自己 2015年8月3日 已经数不清这到底是第几次来北京了。今天比较特殊,是我工...
    千年萧萧阅读 2,688评论 0 0

友情链接更多精彩内容