900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 微信公众号开发_如何生成带参数的二维码

微信公众号开发_如何生成带参数的二维码

时间:2024-04-22 16:59:43

相关推荐

微信公众号开发_如何生成带参数的二维码

文章目录

一、简单介绍二、临时二维码HttpUtils获取ticket查看二维码 四、测试

一、简单介绍

开发文档:微信开发文档

目前有2种类型的二维码:

临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。

如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。

获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码。

创建二维码ticket

每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程。

二、临时二维码

以临时二维码为例。

临时二维码请求说明

http请求方式:POSTURL:https://api./cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:

json POST数据例子:

{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

或者也可以使用以下POST数据创建字符串形式的二维码参数:

{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

HttpUtils

HttpUtils工具的下载、使用:HttpUtils的用法

获取ticket

/*** 获得二维码的ticket* 临时二维码请求说明* http请求方式: POST URL: https://api./cgi-bin/qrcode/create?access_token=TOKEN* {"ticket":"gQGz8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAycUZUUGhsOXZmakUxUURhN052Y2gAAgSnD75fAwSAOgkA","expire_seconds":604800,"url":"http:\/\/\/q\/02qFTPhl9vfjE1QDa7Nvch"}* @return*/public String getQRCodeTicket() throws Exception {String host = "https://api.";String path = "/cgi-bin/qrcode/create";String token = WXServiceImpl.getWXToken();Map<String, String> headers = new HashMap<String, String>();Map<String, String> querys = new HashMap<String, String>();querys.put("access_token",token);String data= "{\"expire_seconds\": 604800, \"action_name\": \"QR_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"lsh\"}}}";HttpResponse httpResponse = HttpUtils.doPost(host, path, headers, querys, data);String respJsonStr = EntityUtils.toString(httpResponse.getEntity());JSONObject jsonObject = JSON.parseObject(respJsonStr);System.out.println("jsonObject:"+jsonObject);String ticket = (String)jsonObject.get("ticket");return ticket;}

查看二维码

通过ticket换取二维码:

HTTPGET请求(请使用https协议)https://mp./cgi-bin/showqrcode?ticket=TICKET

将上边返回的ticket替换TICKET,直接在浏览器地址访问即可看到二维码信息。

四、测试

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。