微信asp+sqlser开发实例——获取access_token
2014-03-29 23:04
676 查看
根据微信开放平台介绍 http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_token的api调用次数非常有限,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。
这里做个广告,为了更快了解微信本来新建了一个QQ群,群名称是【微信开发技术交流:389075177】,专门用于微信开发和交流,欢迎正在研究微信的童鞋一起加入,一起学习,一起进步!
本人在调试过程中暂时想到同一个页面读取access_token,并把access_token保存到相应数据库中,当然我下边的方法数据库中是肯定存在我才那样写的,没有做太多的判断,只是调试接口时用的,真的程序肯定不能这样写,太不正规了。
方法很简单,先创建张表,格式如下,表名:access
由于asp没有json数据的处理,所有只好借用js处理了,不过效果很不错哦。
通过lasttime记录失效时间,获取时先查询一下是否失效,没有失效直接返回,失效了就重新获取一下。
这里做个广告,为了更快了解微信本来新建了一个QQ群,群名称是【微信开发技术交流:389075177】,专门用于微信开发和交流,欢迎正在研究微信的童鞋一起加入,一起学习,一起进步!
本人在调试过程中暂时想到同一个页面读取access_token,并把access_token保存到相应数据库中,当然我下边的方法数据库中是肯定存在我才那样写的,没有做太多的判断,只是调试接口时用的,真的程序肯定不能这样写,太不正规了。
方法很简单,先创建张表,格式如下,表名:access
由于asp没有json数据的处理,所有只好借用js处理了,不过效果很不错哦。
通过lasttime记录失效时间,获取时先查询一下是否失效,没有失效直接返回,失效了就重新获取一下。
<%@Language="VBScript" CodePage="65001"%> <% Dim conn conn="Provider=SQLOLEDB.1;Password=****;Persist Security Info=True;User ID=sa;Initial Catalog=weixin;Data Source=(local)" Dim json,APPID,APPSECRET,rs,sql,url APPID=request("APPID") APPSECRET=request("APPSECRET") set rs=server.CreateObject("adodb.recordset") sql="select top 1 access_token,datediff(s,getdate(),lasttime) s from access where APPID='"&APPID&"' and APPSECRET='"&APPSECRET&"' order by id desc" rs.open sql,conn,1,3 if rs("s")>60 then response.Write(rs("access_token")) else url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="&APPID&"&secret="&APPSECRET On Error Resume Next json=gethtml(url) Set json=toObject(json) access_token="" access_token = json.access_token expires_in="0" expires_in= json.expires_in errcode="" errcode=json.errcode errmsg="" errmsg=json.errmsg IsWork="0" AccessName=now() if errcode<>"" then response.Write("不合法的APPID") IsWork="0" end if if access_token<>"111" then response.Write(access_token) IsWork="1" end if '保存数据库中 sql="INSERT Access (AccessName,AppID,AppSecret,access_token,expires_in,lasttime,errcode,errmsg,IsWork) VALUES ('"&AccessName&"','"&AppID&"','"&AppSecret&"','"&access_token&"','"&expires_in&"',dateadd(s,"&expires_in&",getdate()),'"&errcode&"','"&errmsg&"','"&IsWork&"')" 'response.Write(sql) conn.execute(sql) 'response.Write(access_token) 'response.Write("<br/>") 'response.Write(expires_in) 'response.Write("<br/>") 'response.Write(errcode) 'response.Write("<br/>") 'response.Write(errmsg) 'response.Write("<br/>") end if rs.close set rs=nothing Response.End()
'获取网页源代码 function getHtml(url) 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 set xh=nothing end function %> <script>window.onerror=function(){return true;};</script> <script language="JScript" runat="Server"> function toObject(json) { try { eval("var o="+json); //精妙 return o; } catch(err) { return err; } } </script>
相关文章推荐
- 微信asp+sqlser开发实例——接收消息
- 微信asp+sqlser开发实例——回复消息
- [3]java微信开发-获取access_token
- 微信access_token的获取开发示例
- 微信&java 开发4 access_token获取
- 微信access_token的获取开发示例
- 微信第三方平台开发授权2:获取component_access_token,pre_auth_code
- PHP微信开发之获取access_token
- 微信java开发3——获取access_token
- [麦先生]TP3.2之微信开发那点事[基础篇](获取access_token)
- PHP微信开发之获取access_token
- 微信开发专题---4获取access_token
- java 微信开发获取access_token
- php获取微信公众账号access_token实例
- 微信公众号开发-开发环境搭建并通过java代码获取微信access_token
- 使用Java进行微信开发3- 获取access_token
- 微信开发第二篇:获取全局access_token
- 微信测试号开发之四 获取access_token和jsapi_ticket
- 微信公共号开发教程java版——公共号access_token的获取(五)
- 微信开发者-主动请求-实际开发-(3)获取access_token(C#)