PHP 微信公众号开发

微信测试号开发

1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

5 附:检验授权凭证(access_token)是否有效

public function wxCode(){
        header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.self::$appid.'&redirect_uri=http%3A%2F%2F'.$_SERVER['SERVER_NAME'].'%2FXXX%2F%2FXXX%2FXXX&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect');exit;
    }

    public function WxInfo(){
        $code = $_GET['code'];
        if (empty($code)) die('授权失败');
        $token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.self::$appid.'&secret='.self::$appsecret.'&code='.$code.'&grant_type=authorization_code';
        $token = json_decode(file_get_contents($token_url));
        if (isset($token->errcode)) {
            echo '<h1>错误1:</h1>'.$token->errcode;
            echo '<br/><h2>错误信息:</h2>'.$token->errmsg;
            echo '<br/><h2>appsecret:</h2>'.self::$appsecret;
            echo '<br/><h2>appid:</h2>'.self::$appid;
            exit;
        }

        $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.self::$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token;
        //转成对象
        $access_token = json_decode(file_get_contents($access_token_url));
        if (isset($access_token->errcode)) {
            echo '<h1>错误2:</h1>'.$access_token->errcode;
            echo '<br/><h2>错误信息:</h2>'.$access_token->errmsg;
            exit;
        }
        $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN';
        //转成对象
        $user_info = json_decode(file_get_contents($user_info_url));

        if (isset($user_info->errcode)) {
            echo '<h1>错误3:</h1>'.$user_info->errcode;
            echo '<br/><h2>错误信息:</h2>'.$user_info->errmsg;
            exit;
        }
           echo '<pre>';
               var_dump($user_info);
               exit;
      
    }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值