第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明

Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明

时间:2021-02-25 18:44:11

相关推荐

Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明

一、基础说明

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

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

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

二、接口使用

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

文件说明如下:

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

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

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

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

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

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

if (!AccessTokenContainer.CheckRegistered(appId))//检查是否已经注册{AccessTokenContainer.Register(appId, appSecret);//如果没有注册则进行注册}var result = AccessTokenContainer.GetAccessTokenResult(appId); //获取AccessToken结果

当然也可以更加简单地一步到位:

var result = AccessTokenContainer.TryGetAccessToken(appId, appSecret);

上述获取到的result有access_token和expires_in两个属性,分别储存了AccessToken字符串和过期时间(秒),如果使用AccessTokenContainer.TryGetAccessToken()方法,则可以彻底忽略的expires_in存在,如果过期,系统会自动重新获取。

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

当然,SDK也已经提供了全自动的AccessToken处理机制,包括自动处理(预期外的)AccessToken过期情况,开发者在调用高级接口的时候只需要提供AppId,忽略AccessToken的存在,相关内容请见《Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制》。

注意:在v14.2.1中,所有Senparc.Weixin.MP下的Container,命名空间已经从 Senparc.Weixin.MP.CommonAPIs改为了Senparc.Weixin.MP.Containers:[公告]Senparc.Weixin.MP v14.2.1 升级说明

系列教程索引

地址:/szw/archive//05/14/weixin-course-index.html

Senparc.Weixin.MP SDK微信公众平台开发教程(一):微信公众平台注册Senparc.Weixin.MP SDK微信公众平台开发教程(二):成为开发者Senparc.Weixin.MP SDK微信公众平台开发教程(三):微信公众平台开发验证Senparc.Weixin.MP SDK微信公众平台开发教程(四):Hello WorldSenparc.Weixin.MP SDK微信公众平台开发教程(五):使用Senparc.Weixin.MP SDKSenparc.Weixin.MP SDK微信公众平台开发教程(六):了解MessageHandlerSenparc.Weixin.MP SDK微信公众平台开发教程(七):解决用户上下文(Session)问题Senparc.Weixin.MP SDK微信公众平台开发教程(八):通用接口说明Senparc.Weixin.MP SDK微信公众平台开发教程(九):自定义菜单接口说明Senparc.Weixin.MP SDK微信公众平台开发教程(十):多客服接口说明Senparc.Weixin.MP SDK微信公众平台开发教程(十一):高级接口说明Senparc.Weixin.MP SDK微信公众平台开发教程(十二):OAuth2.0说明Senparc.Weixin.MP SDK微信公众平台开发教程(十三):地图相关接口说明Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重Senparc.Weixin.MP SDK 微信公众平台开发教程(十五):消息加密Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制Senparc.Weixin.MP SDK 微信公众平台开发教程(十七):个性化菜单接口说明Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能Senparc.Weixin.MP SDK 微信公众平台开发教程(十九):MessageHandler 的未知类型消息处理Senparc.Weixin.MP SDK 微信公众平台开发教程(二十):使用菜单消息功能Senparc.Weixin.MP SDK 微信公众平台开发教程(二十一):在小程序中使用 WebSocket (.NET Core)Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。