微信 开发生成带参数的二维码的实例_php技巧

微信开发生成带参数的二维码的讲解

在微信公众号平台开发者那里,在“账号管理”那里,有一项功能是“生成带参数的二维码”,通过这儿生成的二维码,只要通过微信扫一扫之后,会把事件自动推送到微信公众号上

用微信扫一扫推送到开发者网址那儿的数据如下:

<xml><ToUserName><![CDATA[gh_452****b0f2]]></ToUserName>
<FromUserName><![CDATA[oz1fVs4d****7FmFrCbc57o]]></FromUserName>
<CreateTime>1429416610</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[SCAN]]></Event>
<EventKey><![CDATA[155120hzw]]></EventKey>
<Ticket><![CDATA[gQH17zoAAAAAAAAAASxodHR****S9xL28waUNrM1BsV1ZJZ0VJcE8tbUFMAAIEcCozVQMEAAAAAA==]]></Ticket>
</xml>

可以看出是一个xmlstk格式的数据,Event里SCAN表示扫描,EventKey是生成二维码时在json设置的数值,EventKey是可以自己指定的,其它都是微信平台内定的。。。通过自定义EventKey的数据,可以做到自动回复指定的数据

比如:我要做一个猜谜的游戏,每个猜谜都有一个唯一的编号,这个编号可以设置为EventKey值,然后别人扫描带参数的二维码时,会把谜语的编号(EventKey)传递过来,然后根据编号自动回复谜底给用户。。。。即做拿出微信扫一扫就知道谜底。

更多的应用场景请自由发挥,比如:扫一扫,领取红包等功能也是可以实现的。

微信官方开发文档:

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

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

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

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。
获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码。

ticket 单词的意思我查了一下百度字典,表示“票、入场券”的意思,即通过入场券来换取二维码。

换取的时候,其实就是把ticket加到URL的最后面,即xxxx.com/xxx.php?ticket=xxxx的形式

真实的效果如下:

其中ticket=xxx  后面的就是获取到的ticket数值。

微信官方文档如下:

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

scene_id最大值是10万,请求的方式为post,被请求的网址都是一样的。

POST数据格式:json
POST数据例子:{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

expire_seconds表示过期的秒数,如果含有这个参数,表示临时的二维码,即长3分钟后过期。

永久二维码的请求示例:

POST数据格式:json
POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}
或者也可以使用以下POST数据创建字符串形式的二维码参数:
{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "123"}}}

这里要注意一下,scene_str表求字符串,即推送的数据中EventKey的值是字符串,字符串要加双引号,可以发送英文字符。

如果scene_id永久二维码最大值是10万,只能是数字,不要加双引号

还有请求是post,数据格式为json

参数说明

参数 说明
expire_seconds 该二维码有效时间,以秒为单位。 最大不超过1800。
action_name 二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久,QR_LIMIT_STR_SCENE为永久的字符串参数值
action_info 二维码详细信息
scene_id 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
scene_str 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64,仅永久二维码支持此字段

返回说明

正确的Json返回结果:

{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm3sUw==","expire_seconds":60,"url":"http:\/\/weixin.qq.com\/q\/kZgfwMTm72WWPkovabbI"}

参数 说明
ticket 获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码。
expire_seconds 二维码的有效时间,以秒为单位。最大不超过1800。
url 二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片

错误的Json返回示例:

{"errcode":40013,"errmsg":"invalid appid"}

通过ticket换取二维码

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

提醒:TICKET记得进行UrlEncode

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索微信开发二维码
java 生成二维码 实例、二维码生成实例、微信生成带参数二维码、生成带参数的二维码、带参数二维码生成器,以便于您获取更多的相关知识。

时间: 2024-08-17 17:27:55

微信 开发生成带参数的二维码的实例_php技巧的相关文章

微信接口生成带参数的二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 用户扫描带场景值二维码时,可能推送以下两种事件: (1)如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者. (2)如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者. 获取带参数的二维码的过程包括两步:(I)首先创建二维码ticket:(II)然后凭借ticket到

微信接口开发之高级篇系列【用户分组接口和生成带参数的二维码】

<?php /** * Created by PhpStorm. * User: Tinywan * Date: 2016/9/11 * Time: 10:00 */ namespace Home\Controller; use Org\Util\WechatAuth; use Think\Controller; class UserController extends Controller { private $appid; private $appSecret; private $Wecha

php微信开发之批量生成带参数的二维码_php技巧

带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个接口,那下面就来研究一下吧.  具体接口说明请参见,微信公众平台开发者文档(http://mp.weixin.qq.com/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html) ,我这里就直接上代码.  演示图:   由于带参数二维码生成是有限的,所有我是按编号生成的,下次生成的时候直接累加. 另外带设置有备注,方便以

微信公众平台开发文档 生成带参数的二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下两种事件: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事

用java(Myeclipse)写一个微信带参数的二维码?

问题描述 用java(Myeclipse)写一个微信带参数的二维码? 当今最热的热点就属微信了,越来越多的微信用户感觉到二维码的重要性,二维码承载了很多信息,并且方便使用,只用拿起手机扫一 下就可以搞定,那么怎么用java写一个生成带参数二维码呢? 解决方案 http://blog.csdn.net/about58238/article/details/7494704 解决方案二: 引用jar:cxf-2.5.2.jar和Qrcode_swetake.jar 源码如下: import java.

微信-带参数的二维码扫描之后,会出现“该公众号暂时无法提供服务”

问题描述 带参数的二维码扫描之后,会出现"该公众号暂时无法提供服务" 带参数的二维码扫描之后,会出现"该公众号暂时无法提供服务",我后台的代码但是没有接受到,在微信公众号调试成功的 解决方案 http://www.cnblogs.com/txw1958/p/weixin-suspend-service-solution.html

微信公众平台开发教程(六)获取个性二维码的实例_javascript技巧

一.功能介绍 在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注.二维码给我们提供了极大的便捷,只要简单一扫描,即可关注. 如果已经关注过,立刻跳入对话画面.在我们进行推广时,不再是简陋的文字,可以是一个有个性的二维码,想必会很生动. 微信对二维码提供了很好的支持,而且还可以根据需要生成不同场景的二维码.下面我们将介绍如何获取和使用二维码. 注意:限服务号,且进行了微信认证,费用300 二.相关接口 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的

php生成带logo二维码方法小结_php技巧

一.使用的类库 1.phpqrcode(php库) 2.qrcode.js(javascript库) 二.phpqrcode的使用 只用php的类库,也就是二维码的生成在后台操作.因为要在后台生成带logo的二维码,那么首先必须将logo图片上传至服务器(在上传这里我用了webuploader) phpqrcode使用方法: 首先下载phpqrcode:http://phpqrcode.sourceforge.net/ 然后在使用之前记得引入phpqrcode.php文件 $value = $u

Thinkphp3.2.3整合phpqrcode生成带logo的二维码_php技巧

Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能. 下载phpqrcode 下载地址:http://phpqrcode.sourceforge.net/ 整合到Thinkphp框架 在"ThinkPHP\Library\Vendor\"下新建目录phpqrcode,将压缩包内容解压到该文件夹下. 调用phpqrcode生成二维码 在IndexController控制器下添加如下方法: public function qrcode($ur