微信小程序测试版时拿不到Openid 生产环境可以

今天遇到了一个问题(前端遇到的) 小程序发布到测试版的时候 Openid读不到了 但是 真机调试和微信小程序开发的时候可以

https://api.weixin.qq.com/sns/jscode2 前端获取Post的接口是这个  一看就是腾讯爸爸的接口 

第一时间考虑到可能是安全域名没添加 https://api.weixin.qq 去微信公众平台发现 不让添加这个 让自己写 于是自己写了一个

后端接口:(后端语言PHP 框架Laravel)

代码如下:

    public function getOpneidDetails(Request $request){

//声明CODE,获取小程序传过来的CODE
        $code = $request->get('code');
//配置appid
        $appid = "你的appid"
//配置appscret
        $secret = "你的appscret";
//api接口
        $api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
//获取GET请求


//发送
        $str =$this->httpGet($api);
        return $str;

    }
   public function httpGet($url)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($curl, CURLOPT_URL, $url);
        $res = curl_exec($curl);
        curl_close($curl);
        return $res;
    }

PHP原生写法:

<?php
//声明CODE,获取小程序传过来的CODE
$code = $_GET["code"];
//配置appid
$appid = "修改成你小程序的APPID";
//配置appscret
$secret = "修改成你小程序的APPSECRET";
//api接口
$api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
//获取GET请求
function httpGet($url){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 500);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    $res = curl_exec($curl);
    curl_close($curl);
    return $res;
}
//发送
$str = httpGet($api);
echo $str;
?>

如果PHP版本过低 会报:

这个错误  

此时 把

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);

改成

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);

就可以了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug克星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值