近期,微信小程序官方再次更新,然而其它我先不管。
“wx.getWeRunData 获取微信运动数据”,这个接口着实有用,因为公司正好要做一个与微信步数相关的抽奖活动。
唯一的疑问是,官方文档上说的是能获取到过去30天的数据,那么当天的数据是否能得到?先不吐槽文档描述有歧义吧,只能自己测一下了(本次测试重点是能否获取当天运动数据,有的操作会一笔带过)。
先看下文档说明:
然后下面是解密后的结构:
看完文档,开始测试。看代码:
数据请求成功,看一下被加密过的运动数据:
进行到这一步,离真相只差一步之遥,进行解密:
可以看到上图的最后一个时间节点,“1495468800“”转码后是今天“”5月23“”,我的步数可以得到!
关于时间戳:所有的时间戳转日期后都是显示的某天的00:00:00,如:2008/8/8 00:00:00;包括最后的,也就是我今天的时间戳转码后:2017/5/23 00:00:00(不管在23号一天中的哪一个时间段获取,都是这样的格式)。
而在watermark下的时间戳则是接口请求的时间。
注意(当然只是我自己遇到的,仅做参考):
有一个问题,这个小程序获取的步数跟微信运动里的步数会有延迟(当然微信运动本身的延迟先不说,现在只研究微信运动里看到的数据与小程序获取步数接口的数据)。
会有一个这样的情况,如果用户没进去微信运动,直接请求小程序获取步数接口,是会停留在上次数据不会变的!过很长一段时间后再次请求,数据才会重新获取。
经过测试,先进入微信运动然后再请求小程序获取步数,那么这个时候数据是一致的,也就是说,相当于用户要进去微信运动里将步数提交到数据库?然后小程序获取步数接口才能拿到最新的?否则就要等微信运动自己的数据更新....
【相关推荐】
1. 微信公众号平台源码下载
2. 小猪cms(PigCms)微电商系统运营版(独立微店商城+三级分销系统)
以上是分享利用小程序获取与解密微信步数可以获取当日数据的方法的详细内容。更多信息请关注PHP中文网其他相关文章!