首页 > 编程语言 >基于PHP方法,微信公众号小程序获取code,access_token,openid,用户信息

基于PHP方法,微信公众号小程序获取code,access_token,openid,用户信息

时间:2023-06-08 14:33:02浏览次数:65  
标签:openid code url 微信 access token appid curl



//发起获得code值链接 public function doPageGetcode() { $appid = 'yourappid';//修改你的appid if (!$appid) { return $this->result(10008, '参数错误', ''); } //这里的$redirect_uri地址需要http://,跳转对于登录doPageOpenid方法,在微信公众号上面也有添加这个域名http://wx.owen.com/ $redirect_uri = urlencode("http://wx.owen.com/doPageOpenid"); $url = "

public function httpRequest($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;
  }

  //获取用户信息和注册
  public function doPageOpenid()
  {
     $appid = "yourappid";//修改你的appid
     $secret = "yourappsecret";//修改你的appsecret
     $code = $_GPC\["code"\];

     //小程序


// $url = "

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $secret; //公众号// 获得当前用户的Openid和access_token $url = '

$res = $this->httpRequest($url); $jsoninfo = json_decode($res, true); $access\_token = $jsoninfo\["access\_token"\]; $openid = $jsoninfo\["openid"\]; // // 获得所有关注用户的Openid // $url = "

https://api.weixin.qq.com/cgi-bin/user/get?access_token=" . $access_token; // $result = $this->httpRequest($url); // $jsoninfo = json_decode($result, true); // $openid = $jsoninfo["data"]["openid"][0];

if ($access_token && $openid) {
        $url = "https://api.weixin.qq.com/sns/userinfo?access\_token=" . $access\_token . "&openid=" . $openid . "&lang=zh_CN";
        $output = $this->httpRequest($url);

//用户信息数组jsonUserinfo $jsonUserinfo = json_decode($output, true); return $this->result(0, '登录成功', $jsonUserinfo); } } }

Buy me a cup of coffee :)


标签:openid,code,url,微信,access,token,appid,curl
From: https://blog.51cto.com/owenzhang24/6439900

相关文章

  • .Net:对接微信小程序进行授权操作
    原来的写法,使用node.js  其实就是小程序端访问接口,传来一个code参数,接下来后台拿到code之后可以根据code、appid、secret获取session_key和openid,拿到这两个之后后端的工作基本就结束了,可以参考官网接口迁移之后的写法,使用.Net,代码就怎么简单怎么来///<summary>......
  • 微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前
    文章目录一、前言二、前端代码wxml三、前端代码js四、后端java五、程序流程六、参考一、前言微信小程序开发笔记——导读大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机号码。但是,因为小程序用户的手机号码属于重要信息,为了安全,所以需要如下一系列较为复杂的方法和......
  • 微信小程序开发笔记 进阶篇⑥——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之后
    文章目录一、前言二、前端代码wxml三、前端代码js四、后端java五、程序流程六、参考一、前言微信小程序开发笔记——导读大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机号码。但是,因为小程序用户的手机号码属于重要信息,为了安全,所以需要如下一系列较为复杂的方法和......
  • Android问题解决:android.util.Base64.encode 导致签名不匹配 SignatureDoesNotMatch
    文章目录前文:遇到问题一问:为什么SignatureDoesNotMatch二问:为什么SignatureDoesNotMatch三问:Signature请求参数为什么多了%0A四问:Signature为什么多了换行五问:android.util.Base64.encode的用法前文:遇到问题在折腾《ESP32-C3入门教程——导读》时,需要对接阿里云物联网平台。想要......
  • CodeForces - 658A Bear and Reverse Radewoosh (模拟)水
    TimeLimit: 2000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-658ABearandReverseRadewooshSubmit StatusDescriptionLimakandRadewoosharegoingtocompeteagainsteachotherintheupcomingalgorithmiccontest.Theyareequ......
  • CodeForces - 616B Dinner with Emma (模拟)水
    TimeLimit: 1000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-616BDinnerwithEmmaSubmit StatusDescriptionJackdecidestoinviteEmmaoutforadinner.Jackisamodeststudent,hedoesn'twanttogotoanexpensiveres......
  • CodeForces - 659B Qualifying Contest (模拟)水
    TimeLimit: 1000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-659BQualifyingContestSubmit StatusDescriptionVerysoonBerlandwillholdaSchoolTeamProgrammingOlympiad.Fromeachofthe m Berlandregionsateamoftwopeo......
  • CodeForces - 670A Holidays (模拟) 水
    TimeLimit: 1000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-670AHolidaysSubmit StatusDescriptionOntheplanetMarsayearlastsexactly nInputThefirstlineoftheinputcontainsapositiveinteger n (1 ≤ n ≤ 1 000......
  • 【Leetcode】5-最长回文子串
    1.一般方法:暴力for循环求解,时间复杂度,空间复杂度。2.动态规划:我们发现在匹配过程中有许多重复计算的部分,我们把这些放到一个表里保存起来会减少运算,用空间换时间。时间复杂度,空间复杂度。例如“babab”字符串对应的表为:dp[i][j]为TRUE代表字符串从i到j为回文串。判断i到j是否为回文......
  • 体验了【微信问一问】的新功能
    hello,伙伴们,我是索奇相信很多伙伴们已经体验了【微信问一问】的新功能但也有一些伙伴们还不知道如何开启使用,现在并不是所谓的仅内测可用(互联网上很多人说搜一搜都说是内测,一跟十,十跟百,不如自己探索验证一下,目前是否仅内测可用)两种方法开启问一问可以通过「问一问」种子用户招募进......