微信公众号的一些事

(1)微信授权(分为静默授权scope=snsapi_base,只获得openId不会弹出页面。,和用户信息授权scope=snsapi_userinfo会弹出页面)页面只需要一个链接并传入appid,但是后面要获取到用户的信息,就要appid,和AppSecret,并设置一个回调路径用户获取返回的用户信息,此路径必须是微信公众号后台--------接口权限------配置的:网页授权获取用户基本信息 的回调域名
可以为二级域名。授权回调域名配置规范为全域名并且不带http,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html
、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权,关于授权在上一节已经讲过。

(2),关于js-sdkj接口,首先要在--公众号设置--功能设置---JS接口安全域名(注意:可以输入3个,一月只能改三次,此域名必须是备案过的)。
举例扫一扫接口,要有js-sdk的ticket票据,此票据通过access-token获得,并且有失效时间7200秒,首先要用 appid和appsecret获得access-token ,

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

然后用token获得jsapi_ticket,

https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

最后通过算法生成签名,生成签名要用到四个参数 nonceStr(随机字符串,注意在js配置文件中,S要大写),timestap(时间戳),requesturl(请求页面的url),有效的jsapi_ticket,动态页面,比如
通过aaa.do(aaa.do用于生成签名),跳转到aaa.jsp,aaa.jsp中有到每秒二维码的按钮。此时在aaad.do中传入的url就是当前aaa.do的全路径(从http开始,包括url参数,端口号,不包括最后的#,如http://*****/aaa.do?dd=xxx,当是80端口时,在生成签名时的url写端口号,因为当80端口时,aaa.jsp输出路径是不带端口号的,可以在页面上alert(location.href.split('#')[0])输出请求本页面的url和生成签名的url比较一下)
如果是静态页面就是当前页面的url

生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。

  1. 参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token):../15/54ce45d8d30b6bf6758f68d2e95bc627.html
  2. 用第一步拿到的access_token 采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

成功返回如下JSON:

{
"errcode":0,
"errmsg":"ok",
"ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",
"expires_in":7200
}

获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了。

签名算法

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL
转义。

即signature=sha1(string1)。 示例:

  • noncestr=Wm3WZYTPz0wzccnW
  • jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
  • timestamp=1414587457
  • url=http://mp.weixin.qq.com?params=value

步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

步骤2. 对string1进行sha1签名,得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed

注意事项

  1. 签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。
  2. 签名用的url必须是调用JS接口页面的完整URL。
  3. 出于安全考虑,开发者必须在服务器端实现签名的逻辑。
时间: 2024-09-20 00:30:39

微信公众号的一些事的相关文章

RabbitMQ 一二事(3) - 订阅模式(微信公众号模式)的应用

之前讲的消费者互相可以把队列中的消息全部读取,但是不是读完整的所有信息 那么采用订阅模式就行,这就是微信公众号的模式, 比如10个人订阅了我的公众号"BeJavaGod",当我发送一条消息的时候, 那么这10个人都能收到我的消息并且查看,比如本条消息,对吧? 生产者制造消息发送给交换机X,而不是发送给队列,队列和交换机绑定,消费者从各自的队列中获得消息 这样则实现一个生产者发送的所有消息都能被所有的消费者同时接收到 需要注意的地方是,在生产者创建消息发送到交换机时,此时没有队列,那么消

零基础创建自属微信公众号问答机器人

不可否认,在即将进入人工智能"对话式商务"的时代, 若要运营好微信,为自已的公司.自已的店铺.自已的专业领域与兴趣爱好...建立公众号智能问答机器人是有必要性的,小信子中文理解 API 云端服务平台特别为广大非程序员的微信用户提供一个快捷通道,让您透过流程设定即刻拥有自属微信公众号问答机器人. 小信子公众号问答机器人托管流程如下图所示: 本创建指南在描述从 [ 阿里云订购 ] 到 [ 建立公众号<->阿里云关联 ] 的操作流程. 准备工作: 请先申请 微信公众平台个人帐号(

卧底“刷量”卖家,有关微信公众号“刷量”的五个劲爆事实

       今天,公众号"刷量"工具瘫痪的消息被爆出后,迅速成为了朋友圈刷屏的新主题,吃瓜群众基本分为两拨,一拨纯属"看热闹不嫌事大"的,一拨与媒体利益相关或曾经利益相关的人在调侃自媒体行业现状与吃瓜群众的不谙世事.被"曝光"的公众大号运营者们也随即发布声明,纷纷表示自己是铁打的招牌不怕黑,媒体们扒出的数据并不具有说服力. 那实际情况如何呢?雷锋网找到了几位知情人士聊了聊,跟他们了解到了以下关于微信公众号刷量的真实内幕. |"工具坏了

IT行业9大必关注微信公众号

从设计到产品,从数据到管理,从电商到物流--9大自媒体平台,一键扫码关注,你不用担心错过每天的干货.行业资讯.经典案例分析和技术分享了... 一个人是否成功,是由他的休息时间决定的.每天业余时间读一读,你的人生从此与众不同!如果你是互联网从业者,那么以下九个微信公众就不容错过. 1.@互联网的一些事 微信号:imyixieshi 专注于互联网产品设计的媒体平台,报道互联网前沿资讯,分享产品设计经验.用户体验心得.为产品策划和产品运营人士提供专业的产品资讯文档,以及产品设计.策划.运营.交互设计.

“雾霾生存手册”微信公众号目前已积累20万用户数

摘要: 方达,一名自行车爱好者,自2013年底创办雾霾生存手册微信公众号后就一直做雾霾信息推送普及和相关产品检测.自称是空气净化器领域半个业内人士,也与小米空气净化器较过劲.成 方达,一名自行车爱好者,自2013年底创办"雾霾生存手册"微信公众号后就一直做雾霾信息推送普及和相关产品检测.自称是空气净化器领域"半个业内人士",也与小米空气净化器较过劲.成立公司9个月,有对环境问题的认知与悲观,也有自己的奋斗和坚持. 创立"雾霾生存手册"微信公众号的

微信公众号的8条运营法则

 随着移动互联网的越来越不可缺少,微信公众号也成为了企业营销和服务的标配,但很多企业也就是开通了公众号,却对没有在公众号的运营花太多的心思,完全达不到预期目标. 近日,微信发布公告又一次升级调整了微信公众平台规则,所有服务号的群发次数已经从原来的每月1次变为了每月4次.另外还对已通过微信认证的服务号开放高级群发接口,开发者可以通过高级群发接口设计更灵活的群发策略.企业公众号这个机会也可以更好利用了. 我们简单总结一下微信运营的基本法则,可以帮助企业更好的利用好微信这个好工具. 1.适应客户的不同

一个微信公众号引发的网络文学变局

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 前言:在今年5月份时候,我曾撰写过一篇<微信5.0商业化抄了盛大文学后路>的文章,其中提到微信可能从模式上颠覆现有文学网站.最近,一个公众账号的出现,让我意识到这事越来越靠谱了.不过与当初预想不同的是,从这个账号的使用体验来看,微信对网络文学产业链的冲击最先发生在运营商身上,其次才是网络文学网站. [搜狐IT消息](文/王聪佶)提起写<盗墓笔记>的南派三叔,大家肯定都听过,他在今年5月份开通了自己的微信公众账号(微信号:pai

自制微信公众号一键排版工具_javascript技巧

近日,几个码农因「写脚本」被开除了.要我说,不写点脚本那还叫码农吗.我最近也给自己写了一点小脚本,用于在微信公众号中生成个性排版.现在我把整个过程分享给大家.本文就是用这个小工具完成的哦. 操作过公众号后台的朋友肯定知道,微信的编辑器是很简易的,这也不叫缺陷吧,毕竟微信团队的主张一直就是简洁.但是这个编辑器是可以粘贴带格式的html的,所以就给我们留下了发挥的空间,我们可以自己写点css代码,从而定制一个个性的排版样式.对于一个前端工程师,写点样式还不是分分钟的事情~ 用markdown写作 程

老菜解读:微信公众号受新“十条”规定影响有多大?

中介交易 SEO诊断 淘宝客 云主机 技术大厅 昨天,在浏览手机新闻时,突然发现一条"网信办发布即时通信工具管理规定",而且是在头版头条,可见现在即时通信对生活影响之深啊,在这里又以行业新秀"微信"为主要代表,昨天忙了,没有即时对规定进行充分理解,今天为大家好好解解毒. 第一条 为进一步推动即时通信工具公众信息服务健康有序发展,保护公民.法人和其他组织的合法权益,维护国家安全和公共利益,根据<全国人民代表大会常务委员会关 于维护互联网安全的决定>.<