微信小程序获取openid的两种方式

article/2025/9/30 6:11:04

这篇文章是关于获取openid的两种方式,自己在学着用微信小程序来写一个小东西玩

首先我们要到小程序官网获取到自己的appid和Appsecret 如图

第一种:直接在微信小程序中获取,不需要通过后台

 // 登录

    wx.login({

      success: res => {

        // 发送 res.code 到后台换取 openId, sessionKey, unionId

        const code = res.code;

        // 设置appid

        const appId = "。。。。。";

        // const appid = res.appid;

        //设置secret

        const secret = "。。。。。";

 

        wx.request({

          url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId 

                                                            + '&secret=' + secret 

                                                            + '&js_code=' + code 

                                                            + '&grant_type=authorization_code',

          data: {},

          header: {

            'content-type': 'json'

          },

          success: function (res) {

          

            const openId = res.data.openid; //返回openid

          }

        })

      }

    })

第一种就这样了

 

第二种:通过后台发送来获取openid

微信小程序传code过去

public class WeiXinGetOpenid {@Value("${wx.app.secret}")private String secret;@Value("${wx.app.appid}")private String appid;private String grant_type = "authorization_code";/*** 获取openid* @param code 微信小程序前台发送code* @return*/public Map getOpenid(String code) {Map resultMap = new HashMap();try {//拼接接口需要的参数String params = "appid=" + appid + "&secret=" + secret + "&js_code=" + code + "&grant_type" + grant_type;//小程序获取openid的APiString url = "https://api.weixin.qq.com/sns/jscode2session";String s = HttpUtil.sendPost(url, params);JSONObject object = JSON.parseObject(s);System.out.println("返回结果====="+object);resultMap.put("data", object.get("openid"));resultMap.put("code","200");resultMap.put("msg","success");} catch (Exception e) {resultMap.put("code","201");resultMap.put("msg","fail");}return resultMap;}
}

第二种主要看返回的object的数据,有可能报错,我这里没有处理,

像这种的 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: XhNBdzXBe-es50oa ]"}

应该是code有问题。

 

自己太菜了,如果看不懂的话就去找大佬写的看看。

 

 


http://chatgpt.dhexx.cn/article/FBY8LI5f.shtml

相关文章

微信小程序 - 登录获取openid和用户信息(适配getUserProfile)

GitHub Demo 地址: jh-weapp-demo 实现一些常用效果、封装通用组件和工具类 小程序码 微信小程序中如果需要使用微信的用户信息建立自己的用户体系,需拿到唯一标识openid,然后通过getUserProfile(基础库2.10.4以上可用)或者getUse…

【微信】微信授权获取openid

1. 介绍 页面加载之前先通过微信授权获取openid(账号唯一标识) 2. 公众号管理者授权 添加开发人员为该公众号的开发者和运营者 3. 使用测试账号 配置测试账号信息,可以使用本地 ip 测试公共号授权功能,192.168.xx.xx是本机局域…

获取微信用户OpenID

功能需求:获取用户openid ,实现微信公众号自动登录. 实现思路:用户访问公众号链接,获取到co de,用co de换取用户openid,将openid保存到session,每次登陆判断openid是否绑定用户,如果已经绑定了用户则直接登陆,如果openid没有绑定用户则进行登陆,用户登陆…

微信—前端获取openId方法和步骤

执行流程 前端 --> 后端服务 --> 微信服务&#xff08;openId/UnionID&#xff09; 微信公众号网页开发授权&#xff1a;https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#0 <template><div></div> …

如何获取用户的openid

如何获取用户的openid 你是否还在烦恼通过微信API接口获得openid的步骤烦恼&#xff1f;哈哈&#xff0c;今日突然发现一个特别方便的小窍门&#xff0c;不费吹灰之力找到用户的openid&#xff0c;详情如下&#xff1a; - &#xff08;1&#xff09;首先登陆微信公众号后台&a…

小程序获取code 获取 openId

VX号: LJT-917 1.首先先看文档 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 如果你文档看的很明白 那么换openId 一看就懂 就不需要继续阅读本文章了&#xff0c;如果看了文档还是不懂&#xff0c;请继续阅读&#xff01; 2.前端调…

微信公众平台-测试号网页授权-获取openid方法

文章目录 1、创建自己的测试号2、测试号管理信息填写&#xff08;注意仔细一步步对照&#xff09;3、手动获取openid4、使用SDK获取openid 1、创建自己的测试号 通过申请链接&#xff1a;https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 微信扫码登录 2、测…

获取微信用户的openId

开发框架:struts2&#xff08;零配置&#xff09; 官方文档下载地址 https://mp.weixin.qq.com/paymch/readtemplate?tmp/business/course3_tmpl&langzh_CN PS&#xff1a;下列获取openid的代码可以在柳峰的《微信公众平台应用开发方法、技巧与案例》的第六章找到。但是…

微信公众号获取openid流程

说明 微信公众号获取openid&#xff0c;在官方文档中称为网页授权&#xff0c;授权有两种scope&#xff0c;snsapi_base和snsapi_userinfo&#xff0c;snsapi_base是静默授权&#xff0c;不需要用户同意&#xff0c;以下要说的就是静默授权。 关于网页授权的两种 scope 的区别…

微信公众号获取openId——开发阶段

1、注册测试号 微信公众平台 2、理解获取逻辑 获得微信的openid&#xff0c;需要先访问微信提供的一个网址来获取code。 再访问微信提供的另一网址从而获取openId。 两个链接分别为&#xff1a; https://open.weixin.qq.com/connect/oauth2/authorize?appidAPPID&redire…

openId -( 关注者Id )如何获取 open ID

作者&#xff1a;知乎用户 链接&#xff1a;https://www.zhihu.com/question/28101897/answer/157130437 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 程序小白&#xff0c;只懂简单代码的程度。为这个问题困扰了很…

获取微信用户openid的三种方法#ACCESS_TOKEN

本文介绍如何获得微信公众平台关注用户的基本信息&#xff0c;包括昵称、头像、性别、国家、省份、城市、语言。 在本文中&#xff0c;特别要注意的是有两个不同的Access Token&#xff0c;他们产生的方式不一样&#xff0c;一种是使用AppID和AppSecret获取的access_token&…

web元件库/axure元件库/常用web组件/常用表单/导航栏/边框/图标/日期时间选择器/评分组件/穿梭框/输入框/步骤条/

web元件库/axure元件库/常用web组件/常用表单/导航栏/边框/图标/日期时间选择器/评分组件/穿梭框/输入框/步骤条/ Axure原型演示及下载地址&#xff1a; Untitled Documenthttps://66uc7t.axshare.com axure元件库 axure元件库 axure 元件库 axure 元件库 axure 元件库 axur…

axure元件制作-常用开关

利用axure制作APP端常用图标-开关元件&#xff0c;并添加至元件库 步骤&#xff1a; 1、从iconfont 图标库中选中关闭按钮元件&#xff0c;复制至“axure”中&#xff0c;选中该“关闭按钮”元件&#xff0c;设置“交互样式-选中”&#xff0c;导入代表开启状态的元件图片&am…

Axure 自定义元件库

点击文件 -> 新建元件库 可以添加多个元件&#xff0c;并将期重命名 保存元件库 新建页面 添加元件&#xff0c;选择自建的元件库 导入后就会发现我的原件库 这样就可以使用我们自定义的元件库了

Axure9 导入元件库

将需要加载的元件库(*.rplib)放到Axure的安装目录DefaultSettings\Libraries下&#xff0c;重启Axure9即可。

Axure移动端通用元件库rplib格式包含安卓、苹果各种主流手机、平板线框图元件库、IOS系统图标、人物图标、导航和分页、表格元素、各种小图标、移动元件库、axure元件库、axure原型

Axure移动端通用元件库rplib格式包含安卓、苹果各种主流手机、平板线框图元件库、IOS系统图标、人物图标、导航和分页、表格元素、各种小图标等 移动端通用元件库、app通用元件库、数据展示、操作反馈、通用模板、数据录入、列表页、表单页、详情页、通用版布局、移动端手机模…

Axure添加官方元件库

前言 工作需要&#xff0c;领导非要说某些东西产品经理搞不定&#xff0c;要我来搞… 于是就拿起了Axure 我的版本号&#xff1a; 添加一些自己喜欢的、常用元件库 1. 下载元件库 通过Axure工具&#xff0c;跳转到官方网站&#xff0c;下载自己心仪的元件库 比如我这里下…

Axure导入元件库和使用

下载元件库 vant 元件库下载: Vant - Mobile UI Components built on Vue element UI 元件库下载:https://element.eleme.cn/#/zh-CN/resource 以vant示例&#xff0c;下载完成后解压 我们看到有.rp和.rplib格式的文件 rp文件可以理解为一个别人设计好的原型作品。 rplib是原…

Axure 9元件使用

1 元件的位置操作 直接单击选择某一个元件将其拖至画布(中间区域)中,也可以通过左上角的插入菜单选择其他形状的部件。 元件的移动&#xff1a;拖住元件并在画布上松开鼠标即可&#xff1b;也可以直接在X和Y中直接输入坐标。 1.1 同时定位多个元件 按住CTRL使用鼠标单击每个元…