如何绑定微信号?


这几天做了一个功能就是个人网站绑定微信账号的功能,具体要求就是

1:网站打开个人中心->绑定微信号->出现二维码

2:微信扫描二维码,进入公众号

3:点击关注,自己的微信关注了该公众号,并且网站上个人id绑定该扫描的微信号

4:绑定之后,当回复信息,网站上可以进行相应的逻辑操作。

5:取消该公众号关注之后,网站上,id对应的该微信号就会被删除,该id又会变成没有绑定微信号的状态。


中间用到许多困难,但是最后还是解决了。下面看下是如何解决的吧。

步骤1:

出现二维码,就要用到微信的生成二维码功能,下面代码是我网站的代码,可以参考。了解跟多请参开"官方文档"

#
#
    //------start 获取微信扫描关注的验证码---------
    $access_token = "xyJGNOCl-wvbgucmGmD5TWMqgTu8ATw2zAspBUF9hhFUzXs5CjuvIJHHfSw8phcr9dVCxxjjtmtyI5iZJU5uGWrccPf_yNmY950TvX1SE36E2F-jPae2WP7UsP4gR-lKGFQaAAATSD";

    //临时
    // $qrcode = '{"expire_seconds": 86400, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 99999 }}}';
    //永久
    $qrcode = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_str": 1234567}}}';

    $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=$access_token";
    $result = $this->https_post($url,$qrcode);
    $jsoninfo = json_decode($result, true);
    $ticket = $jsoninfo["ticket"];
    $qr_code = "<img src='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".$ticket."' width='200'>";
    //$qr_code = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".$ticket;
    $this->assign("qr_code",$qr_code);

    //------end 获取微信扫描关注的验证码---------
function https_post($url, $data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}
#
#

这里说明下,$access_token,我这边是写死的,他是有周期的,过了这个时间,就不能用了,所以,我们可以用下面的代码进行获取。

#
#
    define("APPID", "你的appid");
    define("APPSECRET", "你的appsecret");

    $token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
    $res = file_get_contents($token_access_url); //获取文件内容或获取网络请求的内容
    //echo $res;
    $result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
    $access_token = $result['access_token'];
    echo $access_token;
#
#


appid和appsecret自行在公众平台获取。进入公众平台->开发->基本配置。

11.png


上面还有个需要注意的地方:就是scene_id,这个是场景值id,我在这里做的时候,这里放的网站用户的id,应为这块在关注公众号之后,可以返回给我们的网站,所以到时候,我们就可以将用户的id和公户微信号想绑定了。


步骤2:

步骤2之前先看“微信公众平台开发的接入”这篇文章,因为对步骤2有帮助。

带参数的二维码生成了,那么用你的微信号扫一扫,点击关注,微信会自动将你微信的一些信息,和二维码中带的相关参数一起发给服务器配置中的url,之后我们就可以根据返回的参数进行相应的业务操作了,比如:当进行关注操作时候,网站用户id就绑定微信号,取消关注时候就解除,发信息时候又是进行相应的操作等等,具体的可以在上述文档中进行查看。

下面看下微信返回的值都是什么意思,点击下面的连接进入微信官方文档,仔细看,可能你第一遍看不懂,但是多看几遍就有所收获。

接受事件的推送  

发送消息事件

上一篇 下一篇