zoukankan      html  css  js  c++  java
  • 第8课 微信接口调用凭证AccessToken及数据容器(Container)

    文章说明: 

      本文是基于盛派网络苏震巍老师的《微信公众号+小程序快速开发》课程笔记。

    课程地址: 

      https://study.163.com/course/courseMain.htm?courseId=1004873017

    本课项目地址:

      https://github.com/wechatdeveloper/WechatVideoCourse

    课程目标

      使用数据容器(Container)管理微信调用凭证(AccessToken); 

      SDK 帮助开发者,只需要关注和微信之间的接口调用 ,不需要过多的关心AccessToken过期问题。

     

    微信凭证类型:

      AccessToken :微信接口调用 的凭据,是用于微信服务器和开发者服务器之间的接口调用的凭据

      JsTicket:用户移动端调用微信API的凭据

      安全说明:凭据不可以存储在Cookie、URL 等明文中

     

    凭证特征:

    1. 需要通过AppId , AppSecret获取AccessToken
    2. 具有一定的过期时间,如7200秒
    3. 可以被强制刷新、更新
    4. AccessToken 需要开发者自行管理
    5. 每天从微信服务器获取的次数是有限制的

    微信公众号AccessToken获取说明:

    https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html 

    数据容器(Container)设计目标:

    1. 自动处理凭据过期、失效、重新获取问题
    2. 支持缓存
    3. 详细参考:设计图解

     

    SDK中AccessToken的方法:

    1.  Senparc.Weixin.MP.Containers.AccessTokenContainer.GetAccessToken(AppId); 
    2. Container对AccessToken进行管理:获取、失效后的更新
    3. 由于SDK对AccessToken进行了高度的封装、管理;所以在调用微信接口的时候,不需要每次都先获取AccessToken,只需要传递AppId参数即可,如下
      1  //获取微信用户信息
      2   var userInfo = Senparc.Weixin.MP.AdvancedAPIs.UserApi.Info(AppId, openId);
      3   string strNickName = userInfo.nickname;
      4   string strGender = userInfo.sex == 1 ? "先生" : "女士";
      5 
      6  //推送客服消息,给用户
      7   Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText(AppId, openId, "你好,{0} {1}".FormatWith(strNickName, strGender));
    4. SDK 均提供了对应的异步接口,如:CustomApi.SendTextAsync

      

      用户收到的客服消息效果:

      

     

    微信公众号客服消息的推送规则:

    1. 用户在5分钟内和公众号有过交互
    2. 在用户没有回复的情况下,公众号不可以连续推送超过20条的客服消息

     

     

      

     

  • 相关阅读:
    glib文档
    2020第42周面向失败设计
    2020第41周中年危机焦虑
    2020第40周选合适的工具
    2020第39周微行动思维
    2020第38周
    2020第37周
    2020第36周
    2020第35周不要让孩子输在起跑线
    2020第34周滥竽充数
  • 原文地址:https://www.cnblogs.com/WechatDeveloper/p/SenparcWeixinSDK-Course-8.html
Copyright © 2011-2022 走看看