首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的openId;

在微信开发中,我们添加了一个二级菜单并实现一些相应的功能,往往是需要获取自己的openId,本文主要阐述如果通过与微信的交互得到自己的openId ;

这里提供一个连接,用于向微信发起请求:(在重定向之前准备好微信的AppId以及token,重定向的URL会被原样返回)

public static String buildAuthorizationUrl(String appid,String redirectUri, String state) {

String url = "https://open.weixin.qq.com/connect/oauth2/authorize?";

url = url + "appid=" + appid;

url = url + "&redirect_uri=" + URIUtil.encodeURIComponent(redirectUri);

url = url + "&response_type=code";

url = url + "&scope=snsapi_base";

if (state != null) {

url = url + "&state=" + state;

}

url = url + "#wechat_redirect";

return url;

}

请求成功后,会额外返回一个code以及state参数,其中code参数是唯一的,也就是说一次请求,产生一个code,作为校验的唯一标准,state参数是之前请求中的token参数

之后,获取到公众号的APPID以及appscret,通过解析返回的json数据格式,获取到自己个人的openId,之后再进行对业务的操作

public static String oauth2getOpenID(String code, String appid,

String appsecret) {

String url = "https://api.weixin.qq.com/sns/oauth2/access_token?";

url = url + "appid=" + appid;

url = url + "&secret=" + appsecret;

url = url + "&code=" + code;

url = url + "&grant_type=authorization_code";

JSONObject jsonObject = JsonUtil.httpsRequest(url, "GET", "");

System.out.println("jsonObject=" + jsonObject);

return jsonObject.getString("openid");

}

java微信菜单获取openid_微信二次开发点击菜单openId的获取相关推荐

  1. 微擎获取openid_微信订阅号通过获取Openid并获取用户基本信息

    我们知道,服务号有获取用户基本信息的接口,通过oauth2.0网页授权获取的.但是认证的订阅号也有获取用户基本信息的接口了,但是与服务号不同的是,这个需要用户主动触发才可以获得,需要用户发送任意关键词 ...

  2. php微信获取openid_微信公众号获取openid(php实例)

    微信公众号获取openid 公众号获取openid的方法跟小程序获取openid其实是一样的,只是code获取的方式不一样 小程序获取code: 用户授权登录时调用wx.login即可获取到code ...

  3. css实现列表下拉菜单_逐行:点击打开下拉列表和菜单的高级CSS技巧

    css实现列表下拉菜单 by David Piepgrass 由David Piepgrass 逐行:点击打开下拉列表和菜单的高级CSS技巧 (Line-by-line: advanced CSS t ...

  4. springboot2.1:获取企业微信的审批数据

    1.我们先是呢要做好开始项目的准备工作 如果你是企业微信管理员可以看到,或者是你弄一个企业号如下:企业ID 同样方法可以在审批找到 有啦这两个可以获取到token 二:我这边创建一个表存获取到的审批相 ...

  5. 怎么获取公众号二维码?

    如果是公众号的管理员,当然可以从微信公众平台直接下载二维码,但这里我要说的场景是:不是公众号的管理员,怎么获取公众号的二维码(且获取到的二维码都是静态的,不带参数的). 使用场景 首先解释一下为什么要 ...

  6. 获取微信用户信息java开发_Java微信公众平台开发(十二)--微信用户信息的获取

    前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...

  7. Java微信二次开发之14-自定义菜单及菜单响应事件的推送

    2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3)使用QQ登录的 ...

  8. java微信开发API解析(二)-获取消息和回复消息

    java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...

  9. JAVA微信公众号开发之二维码的创建与获取

    微信文档说明 两种二维码: 1.临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量.临时二维码主要用于帐号绑定等不要求二维码永久保存的业务 ...

最新文章

  1. sftp shell 批量上传文件_Shell自动上传下载文件到SFTP服务器
  2. opencv 车牌切割
  3. 乘法逆元总结 3种基本方法
  4. charles都踩过哪些坑_开水果店的你,踩过了哪些坑?
  5. java面向对象之父类的引用指向子类的对象
  6. python3连接oracle 11G数据库
  7. Apache Shiro权限绕过漏洞 (CVE-2020-11989) 挖掘分析和复现
  8. 集群起不来oracle,Oracle11g rac 集群无法启动分析及处理
  9. SQL 个人所学目录
  10. 读书笔记《松本行弘的程序世界》
  11. 大数据为我们的生活带来了什么?
  12. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 1、2章
  13. 怎么恢复苹果手机通讯录
  14. 聊天室页面问题和解决方案
  15. 区块链笔记 - 1、区块链的来龙去脉
  16. 安卓原生系统_手机用这个App,系统变得比原生安卓还干净
  17. Web前端HTML、CSS测试:世界地球日
  18. 什么是软件第三方测试 ,靠谱的第三方测试检测公司推荐
  19. python画rgb渐变色_请问如何在matplotlib中画出自定义渐变色?
  20. 多孔氮化硼你了解吗?官能化/修饰/掺杂多孔氮化硼纳米纤维。分享介绍

热门文章

  1. delphi与java 类型转换_java中的数据类型转换
  2. android组件什么时候加载到r文件,Android自定义加载loading view动画组件
  3. python 去除str的引号 去除括号_Python基础教程:运算符以及数据类型解析
  4. ADPRL - 近似动态规划和强化学习 - Note 3 - Stochastic Infinite Horizon Problem
  5. Windows 10完美识别3TB硬盘实录
  6. Python中logging.config配置文件解读
  7. 字符串匹配算法 -- AC自动机 基于Trie树的高效的敏感词过滤算法
  8. 深入理解ceph-disk prepare 源码逻辑
  9. 「欧拉定理」学习笔记(费马小定理)
  10. javascript数组集锦