php专区

 首页 > php专区 > PHP应用 > 开放平台 > Senparc.Weixin.MP SDK 微信公众平台开发教程(八):

Senparc.Weixin.MP SDK 微信公众平台开发教程(八):

分享到:
【字体:
导读:
          一、基础说明 这里说的通用接口(CommonAPIs)是使用微信公众账号一系列高级功能的必备验证功能(应用于开发模式)。 我们通过微信后台唯一的凭证,向通用接口发出请求,得到访问...

一、基础说明

    这里说的“通用接口(CommonAPIs)”是使用微信公众账号一系列高级功能的必备验证功能(应用于开发模式)。

    我们通过微信后台唯一的凭证,向通用接口发出请求,得到访问令牌(AccessToken),然后使用访问令牌去使用各项需要身份验证的高级功能,例如自定义菜单、获取用户信息、单发消息、群发消息等等。

    目前所有的服务号通过认证的订阅号,都可以在微信公众账号后台的【功能】>【高级功能】>【开发模式】下的“开发者凭据”一栏找到AppId和AppSecret两个字符串,这两个字符串就是获得AccessToken的依据,因此需要严格保密,如果发现有泄露的可能,或者出于安全策略,应当使用边上的“重置”按钮对AppSecret进行随机生成(注意AppId不会变化),并且同时修改程序中的对应参数。

 

二、接口使用

    在Senparc.Weixin.MP SDK中,通用接口的基本方法都在Senparc.Weixin.MP.CommonAPIs命名空间下:

    文件说明如下:

  AccessTokenContainer.cs - 一个AccessToken容器(帮助自动更新AccessToken,因为每一个AccessToken都有一个有效期)

  CommonApi.cs - 提供获取AccessToken的通用方法

  CommonApi.Menu.cs - 自定义菜单所有接口

  CommonJsonSend.cs - 对通用接口返回类型的一些封装处理

    有关上述类的详细方法及说明可以看开源代码的注释: https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP/Senparc.Weixin.MP/CommonAPIs

    有了AccessTokenContainer,我们可以直接这样获取AccessToken:

 
if (!AccessTokenContainer.CheckRegistered(appId))//检查是否已经注册
{
    AccessTokenContainer.Register(appId, appSecret);//如果没有注册则进行注册
}
var result = AccessTokenContainer.GetTokenResult(appId); //获取AccessToken结果
  当然也可以更加简单地一步到位:
 
var result = AccessTokenContainer.TryGetToken(appId, appSecret);
 
 
  上述获取到的result有access_token和expires_in两个属性,分别储存了AccessToken字符串和过期时间(秒),如果使用AccessTokenContainer.TryGetToken()方法,则可以彻底忽略的expires_in存在,如果过期,系统会自动重新获取。
 

   有了AccessToken,我们就可以进行一系列丰富的高级功能操作了,当然也包括自定义菜单,请看随后文章的介绍(见《Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明》)。

 

新浪微博:@苏震巍 QQ:498977166

http://szw.cnblogs.com/
研究、探讨ASP.NET
转载请注明出处和作者,谢谢!


分享到:
Senparc.Weixin.MP SDK 微信公众平台开发...
上一篇《Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明》介绍了如何通过通用接口获取AccessToken,有了AccessToken,我们就可以来操作自定义菜单,以及其他的高级接口,这一篇单讲自定义菜单。   一、自定义菜单规则 自定义菜单分为一级菜单和二级菜单。 一级菜单数量为1-3个,即打开公众账号...
Senparc.Weixin.MP SDK 微信公众平台开发...
  从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Cookie是否能保存的问题)。     这就要求我们自己建立一套独立的对话上下文请求机制。     上一篇《Senpar...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……