精华内容
下载资源
问答
  • 微信开放平台提供了unionID 一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID 正常的app推广方案有很多平台在做,费用确实也比较高而且还要...

    在这里插入图片描述
    打开微信公众号开发文档,开幕就是这段话。微信开放平台提供了unionID

    一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID

    正常的app推广方案有很多平台在做,费用确实也比较高而且还要对应到不同的应用商店。
    用平台推广的话我们不仅需要承担推广人员的费用还要承担平台推广费。

    前提条件:

    1、app需要有微信授权登录功能
    2、有自己的微信公众号
    3、去微信开放平台将移动应用和微信公众号绑定

    至此你就可以在获取用户信息的接口多获取到一个参数 unionID
    只要是关联在一起的平台或应用,这个unionID是唯一的

    弊端

    不适用非微信扫码,需要推广人员引导使用微信扫码
    ·······

    前期应用推广的时候只需编写推广接口

    这里分享一下我的思路

    1、扫码时绑定推广员的代码就不再赘述 生成二维码的接口里面有推广员参数即可
    2、用户扫码调用接口后先判断是否微信扫码和手机系统(区分跳转的应用商店)
    3、非微信扫码可以做一个计数,微信扫码就正常获取用户微信基本信息(这里静默授权即可)
    在这里插入图片描述
    将用户的基本信息包括unionID 入库

    然后用户用同一个微信到移动应用登录的时候同样的获取unionID入库即可

    在给推广人员结算转化率时,写个接口比对推广员绑定的新用户的unionID在会员表存在多少个就行

    展开全文
  • 微信开放平台 获取微信openid和unionid

    千次阅读 2019-09-21 16:19:30
    //获取微信openid 和 unionid $wx_info = session('wx_info'); if(is_WeChat() && CONTROLLER_NAME != 'Login' && !$wx_info['openid']){ session('wx_openid',null); $wx_openid = $this->get_openid(); //根据...
    <?php
    //官方文档 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html
    namespace Mobile\Controller;
    use Common\Model\MemberModel;
    use Think\Controller;
    class BaseController extends Controller {
        protected $UID = 0;
        protected $userInfo = [];
    
        public function _initialize(){
            header('Content-Type:text/html;charset=utf-8');
    
            //用户ID  用来判断用户是否登录
            $member_model = new MemberModel();
            $this->UID = intval($member_model->getAuthInfo('id'));
    
            //用户信息
            $userInfo = M('Member')->where(['id'=>$this->UID])->find();
            $this->userInfo = $userInfo;
    
            //获取微信openid 和 unionid
            $wx_info = session('wx_info');
            if(is_WeChat() && CONTROLLER_NAME != 'Login' && !$wx_info['openid']){
                session('wx_openid',null);
                $wx_openid = $this->get_openid();
    
                //根据access_token 和 openid 获取unionid
                $access_token = $this->get_access_token();
                $user_info_url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$access_token.'&openid='.$wx_openid;
                $wx_info = json_decode(curl_get($user_info_url),true);
                session('wx_info',$wx_info);
    
                //如果系统存在该微信账户 则使其登录
                $member_model->wx_login(['wx_unionId'=>$wx_info['unionid']]);
            }
        }
    
        /**
         * 获取微信用户openid
         */
        public function get_openid(){
            $openid = null;
            $wx_openid = I('param.openid');
            if($wx_openid){session('wx_openid',$wx_openid);}
            $openid = session('wx_openid');
            if(empty($openid)){
                $openid = get_openid();
            }
            return $openid;
        }
    
        /**
         * 获取access_token  公众号的全局唯一接口调用凭据
         */
        private function get_access_token(){
            $info = M('we_chat')->find();
            $access_token = $info['access_token'];
            $over_time = $info['over_time'];
            if(!$access_token || $over_time < time()){
                $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$info['app_id'].'&secret='.$info['app_secret'];
                $json = curl_get($url);
                $arr = json_decode($json,true);
                $access_token = $arr['access_token'];
                $data['id'] = $info['id'];
                $data['access_token'] = $arr['access_token'];
                $data['over_time'] = time() + 7100;//access_token的有效期目前为2个小时
                M('we_chat')->save($data);
            }
            return $access_token;
        }
    
    }

     

     

     

    <?php
    
    /**
     * 是否为微信端
     */
    function is_WeChat(){
        if (strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false) {
            return true;
        }
        return false;
    }
    
    /**
     * 获取微信用户openid
     */
    function get_openid() {
        if(!empty($_REQUEST['openid'])){
            $openid = $_REQUEST['openid'];
            session('wx_openid',$openid);
            return $openid;
        }else{
            $callback = C('ROOT_URL').'?m=mobile&c=Index&a=index';
            OAuthWX($callback);
        }
    }
    
    /**
     * 获取微信用户openid
     * @param string $callback
     */
    function OAuthWX($callback){
        $wx_chat = M('we_chat')->where(['id'=>1])->find();
        $param['appid'] = $wx_chat['app_id'];
        if (!isset($_GET['getOpenId'])){
            $param['redirect_uri'] = $callback.'&getOpenId=1';
            $param['response_type'] = 'code';
            $param['scope'] = 'snsapi_base';//snsapi_base  snsapi_userinfo
            $param['state'] = 'wx_login';
            $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?'.http_build_query($param).'#wechat_redirect';
            redirect($url);
        } elseif ($_GET['state']){
            $param['secret'] = $wx_chat['app_secret'];
            $param['code'] = I('code');
            $param['grant_type'] = 'authorization_code';
            $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?'.http_build_query($param);
            $content = curl_get($url);
            $content = json_decode($content,true);
            $openid = $content['openid'] ? $content['openid'] : -1;
            redirect($callback.'&openid='.$openid);
        }
    }
    
    /**
     * Curl GET 请求
     * @param string $url
     * @return string
     */
    function curl_get($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_SSL_VERIFYPEER, false);//跳过ssl检查项
        $output = curl_exec($ch);
        if($output === FALSE ){
            echo "CURL Error:".curl_error($ch);
        }
        curl_close($ch);
        return $output;
    }
    展开全文
  • 每一个微信号基于微信官方...首先在同一个微信公众平台下绑定的不同微信应用对应同一个用户才会生成同一个unionID, 而且没有绑定过微信公众平台的时候,通过微信API访问的用户信息是没有unionID这个字段的 所以我...

    每一个微信号基于微信官方不同的应用都会生出不同的openID(两个公众号,一个公众号一个小程序等)
    如果我们的程序想要同一个用户在两个应用的openID或者关系能关联起来,
    那么就需要unionID机制来完成
    首先在同一个微信公众平台下绑定的不同微信应用对应同一个用户才会生成同一个unionID,
    而且没有绑定过微信公众平台的时候,通过微信API访问的用户信息是没有unionID这个字段的

    所以我们想拿unionID 需要先申请一个微信公众平台,将需要共享信息的各个微信应用绑定。

    绑定的时候会提示同一个主体以及不同主体有数量限制
    同一主体指的是同一个公司认证下的应用为同一主体公众号
    这里我们只简单说小程序
    在获取unionID的时候,有几种方法:
    1、在用户没有关注过同主体的公众号前提下,可通过用户授权后获取用户个人敏感信息传给后台解密拿到
    2、在用户关注过同主体的公众号前提下,只需要通过访问wx.login不需要用户授权即可拿到
    3、可以将用户信息传给后台通过后台直接获取(还在验证中)

    具体小程序API可访问微信官方文档获取~

    展开全文
  • UnionID 机制说明 如果开发者拥有多个移动应用、网站应用、和公众账号(包括小程序),可...换句话说、同一用户,对同一微信开放平台下的不同应用、unionid是相同的。 小程序关联到同一个公众号下就可以实现...

     

    UnionID 机制说明

    如果开发者拥有多个移动应用、网站应用、和公众账号(包括小程序),可通过UnionID 来区分用户的唯一性,因为只要是

    同一个微信开放平台账户下的移动应用、网站应用和公众账号(包括小程序),用户的UnionID是唯一的。

    换句话说、同一用户,对同一微信开平台下的不同应用、unionid是相同的

     

    小程序关联到同一个公众号下就可以实现互跳(1个公众号可以绑定3个不同主体小程序)

    1个公众号可以关联10个同主体和3个非同主体小程序;

    1个小程序可以关联500个公众号;

     

     

     

    转载于:https://www.cnblogs.com/liliuyu/p/11573193.html

    展开全文
  • 针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。 微信的用户隐私策略:每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们...
  • 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的un...
  • 小程序绑定微信开放平台帐号后,可与帐号下的其他移动应用、网站应用及公众号打通,通过UnionID机制满足在多个应用和公众号之间统一用户帐号的需求。 UnionID机制说明:如果开发者拥有多个移动应用、网站应用、和...
  • 微信小程序UnionID机制及其获取流程

    千次阅读 2018-07-16 12:09:09
    如果公司拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。...
  • 转载于:https://www.cnblogs.com/ukzq/p/10054098.html
  • 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一...
  • 微信公众号获取unionid

    万次阅读 2018-03-07 16:09:02
    微信官方提供了unionid,在同一个账号主体下,unionid是一样的,前提是需要在开放平台绑定公众号或者小程序,在开放平台认证需要300块人民币。这样在返回用户信息的时候就会返回unionid,如果没有在开放平台绑...
  • 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一...
  • H5微信登录获取unionid

    千次阅读 2019-12-09 13:49:00
    H5微信登录获取unionid前端跳转连接拼接接收微信重定向后的code参数服务端处理注意 前端跳转连接拼接 const appid = '微信appid'; const scope = 'snsapi_userinfo'; const path = window.location.href; const url ...
  • 微信公众平台微信开放平台的关系背景简介微信公众平台能干什么?微信开放平台(open平台)能干什么? 背景 做微信相关开发的时候,要登录很多账号,而且不同的功能要在这两个账号之间切换来切换去,很烦;所以今天...
  • 微信的公众号unionid

    2016-08-04 21:06:00
    开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个应用(移动应用、网站应用和公众帐号,公众帐号只有在被绑定到微信开放平台帐号下后,才会获取UnionID),可通过获取用户基本信息中的UnionID来区分用户...
  • 微信授权获取unionid的条件

    万次阅读 2018-06-01 15:32:46
    即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。 2、UnionID机制的作用说明:如果...
  • 小程序微信登录获取unionid前端登录代码服务端处理注意 前端登录代码 //小程序自动登录 autoLogin(){ const that = this; wx.login({ success(res) { that.code = res.code wx.getSetting({ success...
  • 针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。 微信的用户隐私策略:每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们...
  • 1.微信开放平台帐号管理 获取openid https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&amp;t=resource/res_list&amp;verify=1&amp;id=open1498704804_iARAL&amp;token=&amp;...
  • 微信openid和unionid的关系

    万次阅读 2018-12-23 19:52:09
    如果小程序和公众号都绑定在同一个开放平台账号下的话,用户在小程序和在公众号下的unionid是一样的 如果先有公众号并且积累了大量粉丝,然后才有的小程序,然后想在小程序下也能识别公众号粉丝怎么办呢? 首先将...
  • 注册认证开放平台后,也绑定了公众号,也创建了网页应用,但在网页应用扫码登录时根据接口文档获取不到UnionID,后来就想着是不是先要在公众号的接口中调用一次获取用户基本信息(起到一个启动UnionID的作用),在 ...
  • 微信OpenId&UnionID

    千次阅读 2018-08-10 15:58:26
    微信OpenId&amp;UnionID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同) 注意:OpenId是...
  • 经开发者反馈,由于同一公司下多个公众号之间需要用户帐号互通,微信开放平台提供了UnionID机制,来解决此问题。 通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个公众号,...
  • 微信小程序 unionid 登录解决方案

    千次阅读 2019-04-26 20:13:03
    随着第三方平台的演化,特别是微信小程序的流行,LeanCloud 第三方登录模块也一直在改进: v2.0*:增加微信小程序一键登录功能。支持开发者不写任何后端代码实现微信小程序用户系统与 LeanCloud 用户系统的关联。 v...
  • 1.申请一个微信开放平台 步骤参考:https://jingyan.baidu.com/article/8275fc8670af2546a13cf65d.html 2.微信开放平台下:公众账号绑定公众号 绑定结果如下: 3.微信公众号下:公众号设置里面设置这个...
  • 一、微信公众平台微信公众平台.小程序、微信.开放平台登录地址 项目 微信公众平台 微信公众平台.小程序 微信开放平台 登录地址 https://mp.weixin.qq.com https://mp.weixin.qq.com ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,769
精华内容 1,107
关键字:

微信开放平台的unionid