微信公众号开发之网页授权

开发文档
1
文档地址

在写代码时,我是在公众号的按钮地址设置为是请求code的网址,所以在下述代码并没有文档请求code的部分,只有接收该网址发送的code的部分。

网页授权函数:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("Get");
		String code = request.getParameter("code");
		System.out.println(code);
		String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
		url = url.replace("APPID","自己的APPID").replace("SECRET","自己的SECRET").replace("CODE",code);
		String result = Util.get(url);
		String at = JSONObject.parseObject(result).getString("access_token");
		String openid = JSONObject.parseObject(result).getString("openid");
		System.out.println("openid:"+openid);
		url="https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
		url = url.replace("ACCESS_TOKEN",at).replace("OPENID",openid);
		result = Util.get(url);
		System.out.println(result);
		StringBuilder sb = new StringBuilder();
		sb.append('{');
		sb.append("\"openid\"").append(":\"").append(openid+"\"");
		sb.append('}');
		PrintWriter  out = response.getWriter();
		out.print(sb.toString());
		out.flush();
		out.close();
	}

Url类的get函数:

public static String get(String Url) {
		try {
			URL urlobj = new URL(Url);
			URLConnection conn = urlobj.openConnection();
			InputStream is = conn.getInputStream();
			byte[] b = new byte[1024];
			int len;
			StringBuilder sb = new StringBuilder();
			while((len=is.read(b))!=-1) {
				sb.append(new String(b,0,len));
			}
			return sb.toString();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return null;
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值