1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信公众平台开发(83) 生成带参数二维码

微信公众平台开发(83) 生成带参数二维码

时间:2023-03-25 23:11:23

相关推荐

微信公众平台开发(83) 生成带参数二维码

php教程|php手册

aspnet,软件编程

php教程-php手册

本文介绍在微信公众平台上如何使用高级接口开发生成带参数二维码的功能。

完整的Java源码,vscode快速查找定义,ubuntu硬盘杀手,默认tomcat管理后台,java爬虫 翻页,php sig,dys2clm02seo,企业网站后台源代码,友价手机模板怎么安装lzw

A、场景二维码

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

斗牛手机游戏源码,vscode加载扩展出错,ubuntu下载错误,启动不同的tomcat,怎么监控爬虫,php获取上一页地址,知乎可以做seo吗,求个人网站源代码,影楼模板 百度云lzw

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

c 微信实例源码,ubuntu 手柄游戏,tomcat的三大组件,怎么爬虫教程,php7怎么样,张家港seo优化怎么做lzw

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

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

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

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

B、创建二维码ticket

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

临时二维码请求说明

http请求URL

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

POST数据格式

"expire_seconds": 1800"action_name": "QR_SCENE""action_info" "scene" "scene_id": 100000 }

返回格式:

"ticket": "gQFK8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL3kweXE0T3JscWY3UTltc3ZPMklvAAIEG9jUUgMECAcAAA==""expire_seconds": 1800

http请求URL

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

POST数据格式

"action_name": "QR_LIMIT_SCENE""action_info""scene""scene_id": 1000

"ticket": "gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA=="

返回结果参数说明

程序实现

= " 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./cgi-bin/qrcode/create?access_token=" = https_post(, = json_decode(, = ["ticket" https_post(, = =curl_setopt(, CURLOPT_URL,curl_setopt(, CURLOPT_SSL_VERIFYPEER,curl_setopt(, CURLOPT_SSL_VERIFYHOST, (!( curl_setopt(, CURLOPT_POST, 1 curl_setopt(, CURLOPT_POSTFIELDS, curl_setopt(, CURLOPT_RETURNTRANSFER, 1= curl_exec(curl_close( }

C、通过ticket换取二维码

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

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

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

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

HTTP头示例如下:

"url": "https://mp./cgi-bin/showqrcode?ticket=gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA%3D%3D","content_type": "image/jpg","http_code": 200,"header_size": 162,"request_size": 181,"filetime": -1,"ssl_verify_result": 20,"redirect_count": 0,"total_time": 0.509,"namelookup_time": 0,"connect_time": 0.058,"pretransfer_time": 0.343,"size_upload": 0,"size_download": 28497,"speed_download": 55986,"speed_upload": 0,"download_content_length": 28497,"upload_content_length": 0,"starttransfer_time": 0.481,"redirect_time": 0 }

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

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

D、下载二维码

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

我们使用CURL获取图片的所有信息,并将图片数据保存为一个文件。一个完整的下载代码如下:

= "gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA==" = "https://mp./cgi-bin/showqrcode?ticket=".( = downloadImageFromWeiXin( = "qrcode.jpg" = (, w ( !== ( !== (, ["body"( downloadImageFromWeiXin( = curl_init(, CURLOPT_HEADER, 0, CURLOPT_NOBODY, 0); curl_setopt(, CURLOPT_SSL_VERIFYPEER, , CURLOPT_SSL_VERIFYHOST, , CURLOPT_RETURNTRANSFER, 1 = curl_exec( = curl_getinfo( ((ody => ), (header =>

E、扫描带参数二维码事件

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

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

如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。

1. 用户未关注时,进行关注后的事件推送

1389684286

2. 用户已关注时的事件推送

1389684184

事件代码:

以下代码判定了扫描带参数二维码的两种情形

Event) { case "subscribe": $contentStr = "欢迎关注 "; if (isset($object->EventKey)){$contentStr = "关注二维码场景 ".$object->EventKey; } break; case "SCAN": $contentStr = "扫描 ".$object->EventKey; break; default: break; } $resultStr = $this->transmitText($object, $contentStr); return $resultStr;}

====================================================================

方倍工作室微信公众平台账号关注方法:

1. 微信通讯录-添加朋友-查找公众号-搜索“方倍工作室”

2. 微信通讯录-添加朋友-搜号码-输入“pondbaystudio”

3. 使用微信扫描下面的二维码

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