当前位置:重庆条码扫描枪 > 新闻中心 > 微信公众平台教程之生成带参数二维码

微信公众平台教程之生成带参数二维码

重庆条码扫描枪 时间:2014-05-30 点击:类型:重庆条码
为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景
  

一、场景二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。

目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000)。两种二维码分别适用于帐号绑定、用户来源统计等场景。

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

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

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

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

二、创建二维码ticket

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

临时二维码请求说明

http请求URL

https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN

POST数据格式

1 { 2 "expire_seconds": 1800, 3 "action_name": "QR_SCENE", 4 "action_info": { 5 "scene": { 6 "scene_id": 100000 7 } 8 } 9 }

返回格式:

{ "ticket": "gQFK8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL3kweXE0T3JscWY3UTltc3ZPMklvAAIEG9jUUgMECAcAAA==", "expire_seconds": 1800 }

永久二维码请求说明

http请求URL

https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN

POST数据格式

{ "action_name": "QR_LIMIT_SCENE", "action_info": { "scene": { "scene_id": 1000 } } }

返回格式

{ "ticket": "gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA==" }

提交数据参数说明:

\

返回结果参数说明

程序实现

1 $access_token = " xDx0pD_ZvXkHM3oeu5oGjDt1_9HxlA-9g0vtR6MZ-v4r7MpvZYC4ee4OxN97Lr4irkPKE94tzBUhpZG_OvqAC3D3XaWJIGIn0eeIZnfaofO1C3LNzGphd_rEv3pIimsW9lO-4FOw6D44T3sNsQ5yXQ"; = '{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 10000}}}'; = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 1000}}}'; = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=$access_token"; 9 $result = https_post($url,$qrcode); 10 $jsoninfo = json_decode($result, true); 11 $ticket = $jsoninfo["ticket"]; https_post($url, $data = null){ 14 $curl = curl_init(); 15 curl_setopt($curl, CURLOPT_URL, $url); 16 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 17 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 18 if (!empty($data)){ 19 curl_setopt($curl, CURLOPT_POST, 1); 20 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 21 } 22 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 23 $output = curl_exec($curl); 24 curl_close($curl); ; 26 } 三、通过ticket换取二维码

获取二维码ticket后,开发者可用ticket换取二维码图片。无须登录态即可调用。

HTTPS GET请求说明(TICKET必需UrlEncode)

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET

ticket正确情况下,http 返回码是200,是一张图片,可以直接展示或者下载。

HTTP头示例如下:

1 { 2 "url": "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA%3D%3D", 3 "content_type": "image/jpg", 4 "http_code": 200, 5 "header_size": 162, 6 "request_size": 181, 7 "filetime": -1, 8 "ssl_verify_result": 20, 9 "redirect_count": 0, 10 "total_time": 0.509, 11 "namelookup_time": 0, 12 "connect_time": 0.058, 13 "pretransfer_time": 0.343, 14 "size_upload": 0, 15 "size_download": 28497, 16 "speed_download": 55986, 17 "speed_upload": 0, 18 "download_content_length": 28497, 19 "upload_content_length": 0, 20 "starttransfer_time": 0.481, 21 "redirect_time": 0 22 }

下面是二种场景二维码的URL及生成的图片

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFK8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL3kweXE0T3JscWY3UTltc3ZPMklvAAIEG9jUUgMECAcAAA%3d%3d

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA%3d%3d

\

四、下载二维码

二维码生成以后,可以在浏览器中右键另存为本地图片,但如果有很多二维码的时候,用程序来下载就比较方便。

这里是重庆条码扫描枪为您提供的微信公众平台教程之生成带参数二维码综述信息,我们从报价、参数、图片、文章、评论、下载入手,为您提供精彩的微信公众平台教程之生成带参数二维码资讯。我们会尽全力为您提供准确、全面的产品信息,但不对信息中可能出现的错误或遗漏承担责任。

欢迎转载重庆条码扫描枪原创文章,请注明:转载自 重庆条码扫描枪 [http://www.cqscan.cn]