• 微信公众平台开发2-access_token获取及应用(含源码)


    微信公众平台开发-access_token获取及应用(含源码)
    作者: 孟祥磊-《微信公众平台开发实例教程》

      很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或者禁止公众平台进行当前的操作。

    一、access_token作用及使用场景

    (一)access_token的作用

      access_token由公众号的AppID和AppSecret组成,所以具有识别公众号的作用。

    (二)access_token的使用场景

      可以把它比喻成一个钥匙,通过access_token,微信公众号才能调用微信接口,如微信服务器 IP的获取接口,长链接转短链接接口、获取微信关注用户列表及获取用户基本信息的接口等等。

      微信服务器也是通过access_token来判断公众号是否有调用该接口的权限。如在调用微信服务器IP获取接口时,需要带上access_token参数,微信在接收到请求后会先判断该access_token的公众号是否具有获取微信服务器IP的接口权限,如果有,返回查询的数据,如果没有,会返回该公众号无获取微信服务器IP接口的权限。

    (三)access_token的特点

      access_token存储至少要保留512个字符空间。access_token的有效期目前为2个小时,重复获取将导致上次获取的access_token失效。

    (四)access_token的存储调用策略

      access_token在后期应用开发中应采取的策略,如图所示,将access_token存储到中控服务器,所有需要用到该参数的程序都应访问中控服务器获取access_token,中控服务器判断当前access_token是否有效并刷新即可。

      

    (五)获取access_token值

    1.接口说明

    http请求方式: GET

    接口调用地址:

    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

    调用参数说明,如表所示:

    参数

    是否必须

    说明

    grant_type

    获取access_token填写client_credential

    appid

    第三方用户唯一凭证

    secret

    第三方用户唯一凭证密钥,即appsecret

    返回说明:

    正常情况下,微信会返回JSON数据包给公众号:

    {"access_token":"ACCESS_TOKEN","expires_in":7200}

    返回参数说明:

    参数

    说明

    access_token

    获取到的凭证

    expires_in

    凭证有效时间,单位:秒

    错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):

    {"errcode":40013,"errmsg":"invalid appid"}

    2.参数AppId和AppSecret
      获取access_token时会用到两个非常重要的参数,即AppId和AppSecret,可在开发-基本配置中查看如图所示。

    3.获取access_token

    <?php
    /*
     *获取微信token
    */
        //1.包含wei_function.php
        require('wei_function.php');
        $appid="wx78478e595939c538";
        $secret="5540e8ccab4f71dfad752f73cfb85780";
        //2.获取token地址,并替换$appid和$secret
        $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret."";
        //3.调用wei_function.php文件内的getdata()函数
        $output=getdata($url);
        //4.json_decode解码JSON数据转变为数组,并通过
        $token=object_array(json_decode($output));
        //输出数组
        //print_r($token);
        //5.输出access_token
        echo $token['access_token'];
    ?>
    代码解析
    require('wei_function.php');该函数文件可以购买《微信公众平台开发实例教程》,在该书中第95页有详细讲解。
     效果图:

     孟祥磊公开课交流群号:230175725

    
    
  • 相关阅读:
    文件传输-一个大文件传输
    日志模块-logging模块
    加密模块hashlib
    面向对象进阶-反射
    面向对象
    模块和包
    作业-学生管理系统
    Java 链表反转
    Haoop MapReduce 的Partition和reduce端的二次排序
    Hadoop 笔记1 (原理和HDFS分布式搭建)
  • 原文地址:https://www.cnblogs.com/mxlbook/p/6491931.html
Copyright © 2020-2023  润新知