曲径辟幽,asp公众号平台系统获取粉丝列表并入库,对比数据库会员更新会员是否已关注或取关公众号

文章讲述了使用ASP和Access技术处理微信公众号粉丝数据的方法,包括获取粉丝列表、数据库操作和状态更新策略。

伪程序员的福音,对公众号官方接口一知半解,加上对后台处理文档也写不好,百度又搜不到能用的资源,就独辟蹊径曲线救国,用纯asp写了下面的代码。

我们公众号网站平台是asp+access写的,先简单介绍下结构,数据库存放会员的表名叫member,关键字段有wx_openid[存放openid],wx_gzh_off[存放是否关注状态],本次新增了一个字段tongbu,这个用法下面有解释。

第一步,获取粉丝列表

我的办法比较简单粗暴,直接访问接口并通过asp语音获取到源代码,官方接口为:【https://api.weixin.qq.com/cgi-bin/user/get?access_token=“&weixin_Access_token&”&next_openid=】,只需要access_token这个值,怎么获取我就不介绍了,官方和百度都有教程,提醒一下这个access_token有效期是7200秒(两小时),所以我这里是调用了数据库(我这个平台设置为需要时就请求一次并存放在数据库)。next_openid如果你的粉丝低于1万就不用填,高于一万就填上后再执行一次。

访问接口后,获取到的网页源码是这样的:

{“total”:5693,“count”:5693,“data”:{“openid”:[“oVfr41baSm9YtXKQwGyxUtovH6Bs”,“oVfr41c5ciKQ-5rhIgYd347jdhfo”,“中间的省略”,“oVfr41UTDuPi_BedF2ZATg9n3LPA”]},“next_openid”:“oVfr41UTDuPi_BedF2ZATg9n3LPA”}

total的值是粉丝总数,count是本次拉取数量,openid就是我们需要的粉丝数据了,我首先把它保存为txt文件【我知道用js读取后处理更方便,无奈水平有限,所以曲线救国】。

第二步,读取txt文件,并提取出需要的粉丝总数和openid数组,下面代码中我都做了注释,实现方法参考注释就行。

第三步,循环数组,并分别查询数据库对比已有会员的openid,如果已经存在的,就修改一次关注状态为1,并在上面提到的tongbu字段里写入一段字码,用于标注本次已经处理过这个会员,如果数据库不存在这个openid,就新建一条,并写入openid、关注状态和标识码。到此,就等于获取到官方的粉丝数据都已经入库并做了标识,那么在字段tongbu里面没有写入标识码的,就都是没有关注或者取关的会员了,我们只需要执行一次标识码不符的会员全部把关注状态设为0。

以上是逻辑,下面贴出代码,供跟我差不多水平的参考使用,如果您水平比较高,希望不要耻笑并给予更好的解决代码,不胜感激!

<%
url="https://api.weixin.qq.com/cgi-bin/user/get?access_token="&weixin_Access_token&"&next_openid=" 
suijima = Clng(DateDiff("s","1970-1-1 00:00:00",Now))
Function getHtml(url) '以HTML格式备份粉丝列表
	Set xh = CreateObject("Microsoft.XMLHTTP")
	xh.Open "GET",url,0
	xh.Send()
	Set MyStream=CreateObject("Adodb.Stream") 
	MyStream.Type = 2
	MyStream.Open 
	MyStream.WriteText xh.responseText
	MyStream.Position = 0
	getHtml=MyStream.ReadText
	MyStream.Close
End Function
Function tongbu(openid) '执行同步数据库
	set rs=server.CreateObject("adodb.recordset")
	sql="SELECT * FROM member where wx_openid='"&openid&"'"
	rs.open sql,conn,1,3
	if not rs.eof then
		rs("wx_gzh_off") = 1
		rs("home_tj") = suijima
	else
		rs.addnew
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值