ASP.NET微信公众号获取AccessToken

时间:2022-09-16 07:54:39

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。下面是使用ASP.NET WebForm实现获取微信公众号AccessToken的例子。附代码和文档。

先看效果图,没有输入appid时的效果:

ASP.NET微信公众号获取AccessToken

获取正确的结果:

ASP.NET微信公众号获取AccessToken
其中长长一串的字符串就是AccessToken,7200秒表示有效时间为2小时。
获取的结果是json格式,可以使用Newtonsoft.Json.dll对json信息进行处理,在下一篇中给出示例代码。参考:http://hovertree.com/h/bjag/l0aqhe0f.htm

HtAccessToken.aspx页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HtAccessToken.aspx.cs" Inherits="ExampleHoverTree.HtWechat.HtAccessToken" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>获取AccessToken示例_何问起</title>
</head>
<body>
<h3>何问起代码练习</h3>
<form id="form1" runat="server">
<div>
appid:<asp:TextBox runat="server" ID="textBox_appid" />
<br />secret:<asp:TextBox runat="server" ID="textBox_secret" />
<br /><asp:Button runat="server" ID="button_get" Text="获取Access_token" OnClick="button_get_Click"/>
<br />
<asp:Literal runat="server" ID="literal_tips" />
</div>
</form>
</body>
</html>

HtAccessToken.aspx.cs代码:

using HoverTree.HoverTreeFrame.HtWeb;
using System;
using System.Text; namespace ExampleHoverTree.HtWechat
{
public partial class HtAccessToken : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void button_get_Click(object sender, EventArgs e)
{
literal_tips.Text = HtGetAccessToken(textBox_appid.Text, textBox_secret.Text);
} string HtGetAccessToken(string appid, string appsecret)
{
string h_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="
+ appid + "&secret=" + appsecret; return HtWebHelper.GetHtmlByUrl(h_url, Encoding.Default);
}
}
}

其中,HtWebHelper类的GetHtmlByUrl(string url, System.Text.Encoding enCode)方法请下载HoverTreeTop源码,在HoverTreeFrame项目中。下载地址:http://hovertree.com/h/bjaf/hv6cqe5n.htm

公众平台的API调用所需的access_token的使用及生成方式说明:
1、建议公众号开发者使用中控服务器统一获取和刷新Access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致access_token覆盖而影响业务;
2、目前Access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;
3、Access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。更多:http://hovertree.com/h/bjag/x6usc7ya.htm

推荐:http://www.cnblogs.com/roucheng/category/827769.html

ASP.NET微信公众号获取AccessToken的更多相关文章

  1. ASP&period;NET微信公众号用于给指定OpenId用户发送红包

    ASP.NET微信公众号用于给指定OpenId用户发送红包 微信公众号要实现对指定用户发送红包,必须指定一个存放兵发放金额的商户号,在微信商户平台里面申请商户号并获取相关参数例如发送红包所要用到的安全 ...

  2. 微信公众号获取粉丝openid系统

    做为一名开发人员,在测试当中也经常需要用到openid,但是微信公众号获取openid的方法也是特别麻烦!网页授权是最常见的方式, 但是网页授权的流程太复杂,不仅要开发,还要在公众号后台设置回调域名( ...

  3. 微信公众号获取openid(php实例)

    微信公众号获取openid 公众号获取openid的方法跟小程序获取openid其实是一样的,只是code获取的方式不一样 小程序获取code: 用户授权登录时调用wx.login即可获取到code ...

  4. 微信公众号获取access&lowbar;token

    一般我们在进行微信公众号开发的时候,都需要用到access_token,但是具体的获取及其使用方式如何呢?下面展示一种获取的方式(具体的微信公众号申请和配置,请参考开放文档,具体在这里就不详细说明了) ...

  5. 微信公众号 --- 获取access&lowbar;token

    获取access_token 在左侧菜单栏中也可以找到 可以一步步的进行设置  ,  身份验证的时候要 注意:密码是你创建微信公众号的密码 往一步步的执行就可以了 接下来就是获取ip 白名单,进行设置 ...

  6. php开发微信公众号获取信息LBS

    1.一般的公众号都可以在微信公众平台里面设置自定义菜单和自动回复消息,如果需要获取用户位置,则必须开启 服务器配置,当次功能开启后,微信公众平台的自定义菜单和自动回复则失效. 需要通过接口开发来实现微 ...

  7. php&comma;微信公众号&comma;获取用户地理位置 定位 经纬度

    <?php //php插件下载地址: https://files.cnblogs.com/files/fan-bk/jssdk_php.rar //建立一个php文件 require_once ...

  8. asp&period;net 微信公众号源码

    需要源码,请加QQ:858-048-581 功能菜单 该源码功能十分的全面,具体介绍如下:1.菜单回复:微信自定义回复.关注时回复.默认回复.文本回复.图文回复.语音回复. 请求回复记录.LBS位置回 ...

  9. 微信公众号获取微信token

    微信在公众号和小程序的开发都有开放文档一般看文档开发就行,很简单这里写一个小demo获取微信token,之后根据自己的业务获取信息处理即可 package com.demo.ccx; import o ...

随机推荐

  1. 深度讲解VIEWPORT和PX是什么?移动端单位px,em,rem

    刚开始接触移动页面重构,是不是很迷惑应该按照多大的尺寸制作?320.640还是720?按照640的设计稿重构完页面,是不是还需要写其他尺寸来适配不同的屏幕大小?—— 这源于对viewport和px的不 ...

  2. Oracle用户密码过期后重置SYS用户密码

    问题状况: SYS.SYSTEM用户的密码过期,无法登陆. 运行EM控制台后,出现错误——ORA-28001: the password has expired (DBD ERROR: OCISess ...

  3. mysql5&period;5手册读书日记&lpar;4&rpar;

    <?php /* InnoDB事务模型和锁定 15.2.10.1. InnoDB锁定模式 15.2.10.2. InnoDB和AUTOCOMMIT 15.2.10.3. InnoDB和TRANS ...

  4. C&plus;&plus; &vert; boost库 类的序列化

    是的,这是今年的情人节,一篇还在研究怎么用的文章,文结的时候应该就用成功了. 恩,要有信心 神奇的分割线 不知何时装过boost库的header-only库, 所以ratslam中的boost是可以编 ...

  5. java上传组件FileUpload

    如果表单中有文件要上传,也就是有<input type="file" name="name"/> 就需要在form标签中添加enctype=&quo ...

  6. SDUT2191Calendar

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2191 题意:给你两个年月日,让你算出其中经历了 ...

  7. Noah的学习笔记之Python篇:函数&OpenCurlyDoubleQuote;可变长参数”

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  8. 转发:Webstorm 2017 破解激活下载

    有用过一下,但是觉得比sublime重量太多,但是随着后来用node的开始,发现需要打造个web前端神器才能满足我的需求,于是乎重拾webstorm,目前发现11是新的版本,对node,npm支持性更 ...

  9. linux查看系统CPU&comma;内存,硬盘使用情况

    top查看CPU,内存使用情况 free查看硬盘使用情况

  10. 金鹰dreamweaver视频教程下载地址

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] http://download2.gbaopan.com/c188aecb5e524ab2b2a484c061e0 ...