精华内容
下载资源
问答
  • 不关注公众号获取用户信息
    千次阅读
    2022-03-11 20:06:34
    package com.jbossjf.bootproject.weixin.gongzhonghao;
    
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    import com.jbossjf.bootproject.weixin.WeChatData;
    import com.jbossjf.bootproject.weixin.WeChatUrlData;
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.slf4j.LoggerFactory;
    
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.HashMap;
    import java.util.Map;
    
    public class WeUserHelp {
        private CloseableHttpClient httpClient;
    
        /**
         * 用于提交登录数据
         */
        private HttpPost httpPost;
    
        /**
         * 用于获得登陆后页面
         */
        private HttpGet httpGet;
    
        public static final String CONTENT_TYPE = "Content-Type";
    
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
        private static Gson gson = new Gson();
    
        /**
         * 微信授权请求,GET类型,获取授权响应,用于其他方法截取token
         *
         * @param Get_Token_Url
         * @return String 授权响应内容
         * @throws IOException
         */
        protected String toAuth(String Get_Token_Url) throws IOException {
            httpClient = HttpClients.createDefault();
            httpGet = new HttpGet(Get_Token_Url);
            CloseableHttpResponse response = httpClient.execute(httpGet);
            String resp = "";
    
            try {
                HttpEntity entity = response.getEntity();
                resp = EntityUtils.toString(entity, "utf-8");
                EntityUtils.consume(entity);
            } catch (Exception e) {
                e.getStackTrace();
            } finally {
                response.close();
            }
            LoggerFactory.getLogger(getClass()).info(" resp:{}", resp);
            return resp;
        }
    
        /**
         * corpid应用组织编号 corpsecret应用秘钥 获取toAuth(String
         * Get_Token_Url)返回结果中键值对中access_token键的值
         *
         * @param
         */
        public   Map<String, Object> getToken(String corpid, String corpsecret,String code) throws IOException {
            String resultUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+corpid+"&secret="+corpsecret+"&code="+code+"&grant_type=authorization_code";
            //String resultUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ corpid +"&secret="+ corpsecret;
            WeUserHelp sw = new WeUserHelp();
            WeChatUrlData uData = new WeChatUrlData();
           // uData.setGet_Token_Url(corpid, corpsecret);
            String resp = sw.toAuth(resultUrl);
            System.out.println("resp=====:" + resp);
            try {
                Map<String, Object> map = gson.fromJson(resp, new TypeToken<Map<String, Object>>() {
                }.getType());
               // return map.get("access_token").toString();
                return  map;
            } catch (Exception e) {
                e.getStackTrace();
                return null;
            }
        }
    
        public String getOpenID(String corpid, String corpsecret,String code) throws IOException {
            String resultUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+ corpid +"&secret="+ corpsecret +"&code="+ code +"&grant_type=authorization_code";
    
            WeUserHelp sw = new WeUserHelp();
            WeChatUrlData uData = new WeChatUrlData();
            //uData.setGet_Session_Url(corpid, corpsecret,code);
            String resp = sw.toAuth(resultUrl);
            System.out.println("resp=====:" + resp);
            try {
                Map<String, Object> map = gson.fromJson(resp, new TypeToken<Map<String, Object>>() {
                }.getType());
                return map.get("openid").toString();
            } catch (Exception e) {
                e.getStackTrace();
                return resp;
            }
        }
    
        /**
         * 创建微信发送请求post数据 touser发送消息接收者 ,msgtype消息类型(文本/图片等), application_id应用编号。
         * 本方法适用于text型微信消息,contentKey和contentValue只能组一对
         *
         * @param touser
         * @param msgtype
         * @param application_id
         * @param contentKey
         * @param contentValue
         * @return
         */
        public String createpostdata(String touser, String msgtype, int application_id, String contentKey,
                                     String contentValue) {
            WeChatData wcd = new WeChatData();
            wcd.setTouser(touser);
            wcd.setAgentid(application_id + "");
            wcd.setMsgtype(msgtype);
            Map<Object, Object> content = new HashMap<Object, Object>();
            content.put(contentKey, contentValue);
            wcd.setText(content);
            return gson.toJson(wcd);
        }
    
        /**
         * @Title  创建微信发送请求post实体,charset消息编码    ,contentType消息体内容类型,
         * url微信消息发送请求地址,data为post数据,token鉴权token
         * @param charset
         * @param contentType
         * @param url
         * @param data
         * @param token
         * @return
         * @throws IOException
         */
        public String post(String charset, String contentType, String url, String data, String token) throws IOException {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            httpPost = new HttpPost(url + token);
            httpPost.setHeader(CONTENT_TYPE, contentType);
            httpPost.setEntity(new StringEntity(data, charset));
            CloseableHttpResponse response = httpclient.execute(httpPost);
            String resp;
            try {
                HttpEntity entity = response.getEntity();
                resp = EntityUtils.toString(entity, charset);
                EntityUtils.consume(entity);
            } finally {
                response.close();
            }
            LoggerFactory.getLogger(getClass()).info("call [{}], param:{}, resp:{}", url, data, resp);
            return resp;
        }
    
        /**
         * 获取微信用户信息
         * @param access_token
         * @return
         */
        public Map<String, Object> getWXInfo(String access_token, String openid)throws IOException {
    
            WeUserHelp sw = new WeUserHelp();
            // 获取用户信息
            String resultUrl ="https://api.weixin.qq.com/sns/userinfo?access_token="+access_token+"&openid="+openid+"&lang=zh_CN";
            //String resultUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token="+ access_token +"&openid="+ openid +"&lang=zh_CN";
            String resp = sw.toAuth(resultUrl);
            System.out.println("resp=====:" + resp);
            try {
                Map<String, Object> map = gson.fromJson(resp, new TypeToken<Map<String, Object>>() {
                }.getType());
                return map;
            } catch (Exception e) {
                e.getStackTrace();
                return null;
            }
        }
    }
    

    更多相关内容
  • 这是一个获取公众号粉丝信息的demo,用户关注公众号后,点击链接或扫描二维码,公众号即可手机用户昵称等信息,用于其他应用中。
  • 获取关注微信公众号用户信息,及没有关注的,提示获取用户信息权限等
  • 获取用户基本信息用户关注公众号之后,你可以获取用户的openID(加密后的微信号,每个用户对应每个公众号的openID是唯一的)。通过openID可以获取到包括昵称、头像、性别、所在城市、语言和关注时间的用户信息。...

    获取用户基本信息

    用户在关注公众号之后,你可以获取到用户的openID(加密后的微信号,每个用户对应每个公众号的openID是唯一的)。通过openID可以获取到包括昵称、头像、性别、所在城市、语言和关注时间的用户信息。

    如果开发者有多个公众号,或者在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。

    调用接口:

    接口调用请求说明 GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    参数说明:

    access_token 必须 调用接口凭证

    openid 必须 普通用户的标识,对当前公众号唯一

    lang 非必需 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

    //正确结果

    {

    "subscribe": 1,

    "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",

    "nickname": "Band",

    "sex": 1,

    "language": "zh_CN",

    "city": "广州",

    "province": "广东",

    "country": "中国",

    "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",

    "subscribe_time": 1382694957,

    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" //同一用户对应同一主体的唯一标识

    "remark": "",

    "groupid": 0,

    "tagid_list":[128,2],

    "subscribe_scene": "ADD_SCENE_QR_CODE",

    "qr_scene": 98765,

    "qr_scene_str": ""

    }

    8a4b791d003b

    参数说明

    //error

    {"errcode":40013,"errmsg":"invalid appid"}

    批量获取获取用户信息

    开发者可通过该接口来批量获取用户基本信息。最多支持一次拉取100条。

    http请求方式: POST

    https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=ACCESS_TOKEN`

    openid 必须 用户的标识,对当前公众号唯一

    lang 非必需 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为zh-CN

    //正确结果

    {

    "user_info_list": [

    {

    "subscribe": 1,

    "openid": "otvxTs4dckWG7imySrJd6jSi0CWE",

    "nickname": "iWithery",

    "sex": 1,

    "language": "zh_CN",

    "city": "揭阳",

    "province": "广东",

    "country": "中国",

    "headimgurl": "http://thirdwx.qlogo.cn/mmopen/xbIQx1GRqdvyqkMMhEaGOX802l1CyqMJNgUzKP8MeAeHFicRDSnZH7FY4XB7p8XHXIf6uJA2SCunTPicGKezDC4saKISzRj3nz/0",

    "subscribe_time": 1434093047,

    "unionid": "oR5GjjgEhCMJFyzaVZdrxZ2zRRF4",

    "remark": "",

    "groupid": 0,

    "tagid_list":[128,2],

    "subscribe_scene": "ADD_SCENE_QR_CODE",

    "qr_scene": 98765,

    "qr_scene_str": ""

    },

    {

    "subscribe": 0,

    "openid": "otvxTs_JZ6SEiP0imdhpi50fuSZg"

    }

    ]

    }

    8a4b791d003b

    参数说明

    //error

    {"errcode":40013,"errmsg":"invalid appid"}

    展开全文
  • 主要介绍了Java微信公众号开发之通过微信公众号获取用户信息,需要的朋友可以参考下
  • 用户关注公众号,网页授权获取用户的昵称、头像等基本信息 微信官方文档——网页授权 零、前提 开发者公众号能正常使用,且已能正常获取用户信息 一、获取openid(获取网页授权access_token) 此时可与公众号中的...

    用户未关注公众号,网页授权获取用户的昵称、头像等基本信息

    微信官方文档——网页授权

    零、前提

    开发者公众号能正常使用,且已能正常获取用户信息

    一、获取openid(获取网页授权access_token)

    此时可与公众号中的获取方式相同,但是返回的参数值会有区别

    scope=snapi_base,用户点击静默授权
    scope=snapi_userinfo,用户点击的授权访问接口

    二、获取用户基本信息

    授权uml

    1、如果返回snsapi_base

    可直接获取用户的基本信息,上送access_token(一般存储在后台数据库中,每两小时会更新一次)

    https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    2.如果返回snsapi_userinfo

    这个时候就需要注意了,注意官网的说法
    在这里插入图片描述

    获取客户基本信息的access_token需要上送第一步(获取网页授权access_token)返回的access_token

    调用api也与snsapi_base不同

    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN


    注意:获取关注用户信息、获取授权用户信息需要请求的信息是不同的

    • 调用api不同
    • 上送参数取值不同

    如果此时还用第一种方法获取用户信息,是不会返回昵称、头像等信息

    展开全文
  • error_reporting(1); header('Content-type:text/... Charset=utf-8'); /* 配置开始 */ $appid = ''; //微信公众平台->开发->基本配置->...//①、获取用户openid $wxPay = new WxService($appid,$appKey); $da.
    error_reporting(1);
    header('Content-type:text/html; Charset=utf-8');
    /* 配置开始 */
    $appid = '';  //微信公众平台->开发->基本配置->AppID
    $appKey = '';   //微信公众平台->开发->基本配置->AppSecret
    /* 配置结束 */
     
    //①、获取用户openid
    $wxPay = new WxService($appid,$appKey);
    $data = $wxPay->GetOpenid();      //获取openid
    if(!$data['openid']) exit('获取openid失败');
    //②、获取用户信息
    $user = $wxPay->getUserInfo($data['openid'],$data['access_token']);
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="renderer" content="webkit" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
        <title>微信获取用户信息demo</title>
        <link href="https://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
        <script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>
    </head>
    <body>
    <div class="container">
        <div class="row">
            <h1>你的基本信息如下:</h1>
            <table class="table table-bordered">
                <tr>
                    <td>openid</td>
                    <td><?=$user['openid']?></td>
                </tr>
                <tr>
                    <td>unionid</td>
                    <td><?=$user['unionid']?></td>
                </tr>
                <tr>
                    <td>昵称</td>
                    <td><?=$user['nickname']?></td>
                </tr>
                <tr>
                    <td>头像</td>
                    <td><img src="<?=$user['headimgurl']?>" style="width: 100px;" alt=""></td>
                </tr>               
                <tr>
                    <td>性别</td>
                    <td><?php
                        switch (strtoupper($user['sex'])){
                            case 1:
                                echo '男性';
                                break;
                            case 2:
                                echo '女性';
                                break;
                            default:
                                echo '未知';
                                break;
                        }
                        ?></td>
                </tr>
                <tr>
                    <td>省份 / 城市</td>
                    <td><?=$user['province'].' / '.$user['city']?></td>
                </tr>
                <tr>
                    <td>language</td>
                    <td><?=$user['language']?></td>
                </tr>
            </table>
        </div>
    </div>
    </body>
    </html>
    <?php
    class WxService
    {
        protected $appid;
        protected $appKey;
     
        public $data = null;
     
        public function __construct($appid, $appKey)
        {
            $this->appid = $appid; //微信支付申请对应的公众号的APPID
            $this->appKey = $appKey; //微信支付申请对应的公众号的APP Key
        }
     
        /**
         * 通过跳转获取用户的openid,跳转流程如下:
         * 1、设置自己需要调回的url及其其他参数,跳转到微信服务器https://open.weixin.qq.com/connect/oauth2/authorize
         * 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code
         *
         * @return 用户的openid
         */
        public function GetOpenid()
        {
            //通过code获得openid
            if (!isset($_GET['code'])){
                //触发微信返回code码
                $baseUrl = $this->getCurrentUrl();
                $url = $this->__CreateOauthUrlForCode($baseUrl);
                Header("Location: $url");
                exit();
            } else {
                //获取code码,以获取openid
                $code = $_GET['code'];
                $openid = $this->getOpenidFromMp($code);
                return $openid;
            }
        }
     
        public function getCurrentUrl()
        {
            $scheme = $_SERVER['HTTPS']=='on' ? 'https://' : 'http://';
            $uri = $_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING'];
            if($_SERVER['REQUEST_URI']) $uri = $_SERVER['REQUEST_URI'];
            $baseUrl = urlencode($scheme.$_SERVER['HTTP_HOST'].$uri);
            return $baseUrl;
        }
     
        /**
         * 通过code从微信公众号平台获取openid及其access_token
         * @param string $code 微信跳转回来带上的code
         * @return openid
         */
        public function GetOpenidFromMp($code)
        {
            $url = $this->__CreateOauthUrlForOpenid($code);        
            $res = self::curlGet($url);
            $data = json_decode($res,true);
            $this->data = $data;
            return $data;
        }
     
        /**
         * 构造获取openid和access_toke的url地址
         * @param string $code,微信跳转带回的code
         * @return 请求的url
         */
        private function __CreateOauthUrlForOpenid($code)
        {
            $urlObj["appid"] = $this->appid;
            $urlObj["secret"] = $this->appKey;
            $urlObj["code"] = $code;
            $urlObj["grant_type"] = "authorization_code";
            $bizString = $this->ToUrlParams($urlObj);
            return "https://api.weixin.qq.com/sns/oauth2/access_token?".$bizString;
        }
     
        /**
         * 构造获取code的url连接
         * @param string $redirectUrl 微信服务器回跳的url,需要url编码
         * @return 返回构造好的url
         */
        private function __CreateOauthUrlForCode($redirectUrl)
        {
            $urlObj["appid"] = $this->appid;
            $urlObj["redirect_uri"] = "$redirectUrl";
            $urlObj["response_type"] = "code";
            $urlObj["scope"] = "snsapi_userinfo";
            $urlObj["state"] = "STATE";
            $bizString = $this->ToUrlParams($urlObj);
            return "https://open.weixin.qq.com/connect/oauth2/authorize?".$bizString;
        }
     
        /**
         * 拼接签名字符串
         * @param array $urlObj
         * @return 返回已经拼接好的字符串
         */
        private function ToUrlParams($urlObj)
        {
            $buff = "";
            foreach ($urlObj as $k => $v)
            {
                if($k != "sign") $buff .= $k . "=" . $v . "&";
            }
            $buff = trim($buff, "&");
            return $buff;
        }
     
        /**
         * 获取用户信息
         * @param string $openid 调用【网页授权获取用户信息】接口获取到用户在该公众号下的Openid
         * @return string
         */
        public function getUserInfo($openid,$access_token)
        {
     
            $response = self::curlGet('https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN');
            return json_decode($response,true);
            
        }
     
        public static function curlGet($url = '', $options = array())
        {
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_TIMEOUT, 30);
            if (!empty($options)) {
                curl_setopt_array($ch, $options);
            }
            //https请求 不验证证书和host
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }
     
        public static function curlPost($url = '', $postData = '', $options = array())
        {
            if (is_array($postData)) {
                $postData = http_build_query($postData);
            }
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
            curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置cURL允许执行的最长秒数
            if (!empty($options)) {
                curl_setopt_array($ch, $options);
            }
            //https请求 不验证证书和host
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }
     
    }

    展开全文
  • 微信关注公众号获取用户信息

    千次阅读 2018-10-20 16:33:25
    原本以为,获取用户信息,只能通过微信授权,后来才知道在关注公众号的时候,也可以获取用户信息,而且这两种获取用户信息的方式是不同的,也没有什么交集 关注公众号,是通过接收事件推送,事件推送:关注成功,...
  • 根据微信公众号开发官方文档: ...在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面: ...
  • 3、然后登陆公众号平台进行授权域名设置,用于授权用户信息时在此域名下访问到授权文件 4、调用接口 public Result judgeIsFollow(String openid) { Result<Object> result = new Result<>(); //...
  • 微信公众号获取用户基本信息,基本信息包括(微信昵称,唯一标识openID,性别,国家、省,市,图像),并保存到数据库源码,测试正常使用。
  • * @Description: 获取微信公众号用户登录信息 * @date 2022/04/22 */ public JSONObject selectWxUser(String code) { JSONObject jsonWxUser = new JSONObject(); Map map = new HashMap<>(); ...
  • 主要大家详细解析了微信公众号判断用户是否已关注php代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL。方便开发者给用户下发欢迎消息或者做帐号的解绑。为保护用户数据隐私,开发者收到用户取消关注事件时需要删除该用户的所有信息。 微信服务器...
  • 微信公众号实现获取用户信息

    千次阅读 2020-09-09 17:45:10
    微信订阅号实现获取用户信息应该是许多人都想实现的功能,但是很可惜的告诉大家,微信订阅号明确接口权限明确说了订阅号支持获取用户信息。有这个权限的只有认证通过的服务号。 首先服务号获取用户信息这个想必...
  • 上一个博客也写了微信公众号获取OpenId,但是现在这个和上一个有什么区别呢。 其实呢,是差不多的,只是这个是通过用户授权。 但是,又会有人问了,明明可以未授权获取到用户的openId,那我为什么要让用户进行...
  • 微信公众号开发中有时会有获取用户信息的需求。我这里是点击某个按钮直接获取用户的信息需要用户授权(就是所谓静默授权)。 主要分以下几步: ...4.用openid 请求接口获得用户信息。 第一步...
  • 公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open....
  • 在微信公众号中,获取关注用户的OPENID。代码是用C#来进行开发的。
  • php微信关注公众号或扫码实现获取用户信息(内含简易框架搭建,可复用)php微信关注公众号或扫码实现获取用户信息(内含简易框架搭建,可复用)概述》详细流程准备工作准备公众号及配置相关接口文档获取access_token...
  • 场景:公众号前端页面需要获取用户微信信息,并且存到数据库中,因此需要微信网页授权功能 先贴出微信网页授权的官方文档介绍: ...根据官方文档介绍的步骤一步步来,最后将代码发布到线上测试。出现了一系列问题: ...
  • 第一步:获取code,其中的链接可以通过任何方式生成,也可以用微信公众号菜单$APPID='wx7********6beb9db'; //填写高级调用功能的app id$appsecret='ce03f4********09c3b80ae6f1c270d5'; //填写高级调用功能的密钥$...
  • 简单php获取公众号关注用户信息,包括openid,城市,国家,性别等等列表内容。
  • 最近要做一个微信平台的投票活动,需要在关注公众号之后才能参与投票,那么,如何判断用户是否关注了公众号呢? 第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的openid。 但是马上发现一个问题...
  • 关注公众号 源码

    2017-08-12 16:19:31
    C#关注公众号源码 获取用户openid
  • 微信公众号获取用户openid

    千次阅读 2021-02-02 10:47:54
    微信公众号获取用户openid有两种方式 一种需要用户授权获取的用户数据相对较多,如用户名称、头像等,还有一种无需授权获取直接上代码, 获取用户openid首先要获取code,然后将code作为参数调用微信api获取openid...
  • php 获取用户是否关注微信公众号
  • 1. OAuth2.0网页授权 这里一定不要在前面加上... 2.获取code 官方说明如下: 此处复制的时候一定要注意修改"appId"和对重定向的链接地址进行"urlEncode"转码,否则可能出现页面一片空白或者"redirect_uri参数错误";
  • 获取code和token public function wxcode() { //一定要按照参数的顺序进行排列,否则接口将无法访问 $params = http_build_query([ 'appid' => '微信公众号的appid', 'redirect_uri' => '自己的域名/w...
  • 很多时候,我们都会看到访问一些公众号,然后就会问你是否允许授权获取个人信息,这个功能实怎么做的呢?且看下面一一分解。 二、在测试号页面找到授权第三方网页获取个人信息的接口 在这个页面往下翻 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,401
精华内容 52,560
关键字:

不关注公众号获取用户信息