微信开发自定义菜单获取OpenID

OpenID:

每个微信用户对于每个公众号,有一个唯一的OpenID。对于其它公众号,OpenID是不同的


用途:

  • 通过 OpenID,能访问到用户的基本信息
  • 跟后台应用(比如商品销售)配合,可以管理用户的订单等数据
获取方法
1. 任何用户与公众号的交互,都会带OpenID
比如,文本消息、订阅事件、菜单Click 事件
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName> # OpenID
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>



2. 菜单跳转到外部网页,不带OpenID,只能用网页 OAuth。 refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[VIEW]]></Event>
<EventKey><![CDATA[www.yourwebpage.com]]></EventKey>
</xml>

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842&token=&lang=zh_CN

用户可能会反感网页授权的过程,解决方法:
1. 在菜单CLICK之后,后台回复一条图文消息,里面URL可以带上OpenID
case "Menu KEY":
    $content[] = array("Title"=>"OpenID", "Description"=>"你的OpenID为:".$object->FromUserName, "PicUrl"=>"", "Url" =>"http://your.web.page/?openid=".$object->FromUserName);

2. 提示用户:为保障您购物的安全和便利,请在打开的网页中授权,授权只会访问你的公开信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值