java微信菜单获取openid_微信二次开发点击菜单openId的获取
首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的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的获取相关推荐
- 微擎获取openid_微信订阅号通过获取Openid并获取用户基本信息
我们知道,服务号有获取用户基本信息的接口,通过oauth2.0网页授权获取的.但是认证的订阅号也有获取用户基本信息的接口了,但是与服务号不同的是,这个需要用户主动触发才可以获得,需要用户发送任意关键词 ...
- php微信获取openid_微信公众号获取openid(php实例)
微信公众号获取openid 公众号获取openid的方法跟小程序获取openid其实是一样的,只是code获取的方式不一样 小程序获取code: 用户授权登录时调用wx.login即可获取到code ...
- css实现列表下拉菜单_逐行:点击打开下拉列表和菜单的高级CSS技巧
css实现列表下拉菜单 by David Piepgrass 由David Piepgrass 逐行:点击打开下拉列表和菜单的高级CSS技巧 (Line-by-line: advanced CSS t ...
- springboot2.1:获取企业微信的审批数据
1.我们先是呢要做好开始项目的准备工作 如果你是企业微信管理员可以看到,或者是你弄一个企业号如下:企业ID 同样方法可以在审批找到 有啦这两个可以获取到token 二:我这边创建一个表存获取到的审批相 ...
- 怎么获取公众号二维码?
如果是公众号的管理员,当然可以从微信公众平台直接下载二维码,但这里我要说的场景是:不是公众号的管理员,怎么获取公众号的二维码(且获取到的二维码都是静态的,不带参数的). 使用场景 首先解释一下为什么要 ...
- 获取微信用户信息java开发_Java微信公众平台开发(十二)--微信用户信息的获取
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...
- Java微信二次开发之14-自定义菜单及菜单响应事件的推送
2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3)使用QQ登录的 ...
- java微信开发API解析(二)-获取消息和回复消息
java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...
- JAVA微信公众号开发之二维码的创建与获取
微信文档说明 两种二维码: 1.临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量.临时二维码主要用于帐号绑定等不要求二维码永久保存的业务 ...
最新文章
- sftp shell 批量上传文件_Shell自动上传下载文件到SFTP服务器
- opencv 车牌切割
- 乘法逆元总结 3种基本方法
- charles都踩过哪些坑_开水果店的你,踩过了哪些坑?
- java面向对象之父类的引用指向子类的对象
- python3连接oracle 11G数据库
- Apache Shiro权限绕过漏洞 (CVE-2020-11989) 挖掘分析和复现
- 集群起不来oracle,Oracle11g rac 集群无法启动分析及处理
- SQL 个人所学目录
- 读书笔记《松本行弘的程序世界》
- 大数据为我们的生活带来了什么?
- 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 1、2章
- 怎么恢复苹果手机通讯录
- 聊天室页面问题和解决方案
- 区块链笔记 - 1、区块链的来龙去脉
- 安卓原生系统_手机用这个App,系统变得比原生安卓还干净
- Web前端HTML、CSS测试:世界地球日
- 什么是软件第三方测试 ,靠谱的第三方测试检测公司推荐
- python画rgb渐变色_请问如何在matplotlib中画出自定义渐变色?
- 多孔氮化硼你了解吗?官能化/修饰/掺杂多孔氮化硼纳米纤维。分享介绍
热门文章
- delphi与java 类型转换_java中的数据类型转换
- android组件什么时候加载到r文件,Android自定义加载loading view动画组件
- python 去除str的引号 去除括号_Python基础教程:运算符以及数据类型解析
- ADPRL - 近似动态规划和强化学习 - Note 3 - Stochastic Infinite Horizon Problem
- Windows 10完美识别3TB硬盘实录
- Python中logging.config配置文件解读
- 字符串匹配算法 -- AC自动机 基于Trie树的高效的敏感词过滤算法
- 深入理解ceph-disk prepare 源码逻辑
- 「欧拉定理」学习笔记(费马小定理)
- javascript数组集锦