"开发设置",创建一个新的小程序。在新建项目的配置页面中,可以选择小程序的模板、配置appid、项目名称等信息。根据项目需求进行配置。在小程序创建成功后,你会获得一个唯一的AppID。">
当前位置:   article > 正文

获取微信小程序用户的code、openid、session_key_微信小程序 获取code

微信小程序 获取code

一、微信小程序用户Code

1、安装微信开发者工具

在你的电脑上安装微信小程序的开发者工具。你可以从微信开放平台官网下载并安装适用于你的操作系统的开发者工具。

2、注册微信开放平台账号:

如果你还没有微信开放平台账号,需要注册一个。你可以在微信开放平台注册页面进行注册。

3、创建小程序:

登录微信开放平台,进入小程序管理后台,在左侧菜单中选择"开发" -> "开发设置",创建一个新的小程序。

4、获取 AppID:

在小程序创建成功后,你会获得一个唯一的AppID。这是小程序的标识,将在开发和发布过程中使用。

5、使用微信开发者工具打开小程序项目:

打开微信开发者工具,在工具中选择"小程序",然后点击"新建项目"。填入项目名称、AppID,选择项目存放的本地目录,并选择开发者工具支持的小程序版本。(直接不使用模板

6、配置项目:

在新建项目的配置页面中,可以选择小程序的模板、配置appid、项目名称等信息。根据项目需求进行配置。

7、编写JS:

  1. onLoad: function(options) {
  2. // 在小程序的某个页面逻辑代码中
  3. wx.login({
  4. success: function(res) {
  5. if (res.code) {
  6. console.log("输出code:" + res.code)
  7. // 将res.code发送到你的服务器,用于换取用户唯一标识openid和会话密钥session_key
  8. wx.request({
  9. url: 'https://xxx', // 替换成你的服务器接口地址
  10. method: 'POST',
  11. data: {
  12. code: res.code
  13. },
  14. success: function(response) {
  15. console.log('服务器返回的用户信息:', response.data);
  16. // 在这里处理服务器返回的用户信息
  17. },
  18. fail: function(error) {
  19. console.error('请求服务器失败:', error);
  20. }
  21. });
  22. } else {
  23. console.log('登录失败!' + res.errMsg);
  24. }
  25. }
  26. });
  27. }
8、结果

二、根据Code获取openid与session_key

1、登录微信公众平台
2、获取AppID(小程序ID)与AppSecret(小程序密钥):

3、后端代码编写:
  1. public String getByCode(String code){
  2. try {
  3. // 授权(必填)固定
  4. String grantType = "authorization_code";
  5. // 发送请求
  6. String res = HttpRequest.post("https://api.weixin.qq.com/sns/jscode2session")
  7. .form("appid", appId)
  8. .form("secret",appSecret)
  9. .form("js_code",code)
  10. .form("grant_type",grantType)
  11. .execute().body();
  12. // 解析相应内容(转换成json对象)
  13. JSONObject json = JSONObject.parseObject(res);
  14. log.info("解析code请求结果:"+json.toString());
  15. //获取openid
  16. String openid = json.getString("openid");
  17. log.info("openid:"+openid);
  18. // 获取session_key
  19. String session_key = json.getString("session_key");
  20. log.info("session_key:"+session_key);
  21. return openid;
  22. // return session_key;
  23. } catch (Exception e) {
  24. e.printStackTrace();
  25. log.error("openId生成失败");
  26. return "";
  27. }
  28. }
"errcode":40163,"errmsg":"code been used, rid: 6552d780-14479786-52544a32":

原因:使用的 `code` 已经被使用过了。每个 `code` 只能用一次,尝试再次使用相同的 `code` 会导致此类错误。

为了解决这个问题,你需要确保每次发起登录请求时都使用一个新的 `code`。通常情况下,小程序端在用户登录的时候生成一个新的 `code`,然后将其发送到服务器。服务器使用这个 `code` 向微信服务器请求用户的 `openid` 和 `session_key`。如果用户再次登录,小程序端会生成一个新的 `code`,然后发送给服务器。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号