小程序下如何获取access_token(代码示例)

来源:不言 发布时间:2018-11-01 09:59:24 阅读量:775

本篇文章给大家带来的内容是关于小程序下如何获取access_token(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。



1

<button bindtap="token">获取token</button>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

// pages/token/token.js

Page({

  data: {

 

  },

  token:function(){

    wx.request({

      url: 'xxxx',

      data:{},

      success:function(res){

        console.log(res.data);

        //这里我是用的新浪云的sae,所以存在读写权限问题,打印出来的信息会存在告警

      }

    });

  }

})

1

2

<?php exit();?>

{"access_token":"","expire_time":0}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

<?php

  //验证

  function getToken(){

    $timestamp = $_GET["timestamp"];

    $nonce =$_GET["nonce"];

    $token="hello hqtoken";

    $signature=$_GET["signature"];

    $array=array($timestamp,$nonce,$token);

    sort($array);

    $tmpstr=implode("",$array);

    $tmpstr=sha1($tmpstr);

    if($tmpstr == $signature){

      echo $_GET["echostr"];

      exit;

    }

  }

  //获取AccessToken

  function getAccessToken(){

    $appid="你的appid";

    $appsecret = "你的appsecret";

    //文件存储

    $data=json_decode(get_php_file("access_token.php"));

    if($data->expire_time<time()){

      $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;

      $res=json_decode(httpGet($url));

      $access_token=$res->access_token;

      if($access_token){

        $data->expire_time=time()+7000;

        $data->access_token=$access_token;

        set_php_file("access_token.php",json_encode($data));

      }

    }else{

      $access_token=$data->access_token;

    }

    return $access_token;

  }

  //公共的curl方法

  function httpGet($url){

    $curl = curl_init();

    curl_setopt($curl,CURLOPT_URL,$url);

    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

    //如果用的是https,ssl安全验证

    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

    curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);

    $res =curl_exec($curl);

    curl_close($curl);

    return $res;

  }

  function get_php_file($filename){

    return trim(substr(file_get_contents($filename),15));

  }

  function set_php_file($filename,$content){

    $fp=fopen($filename,"w");

    fwrite($fp,"<?php exit();?>".$content);

    fclose($fp);

  }

  echo getAccessToken();

?>


标签: PHP
分享:
评论:
你还没有登录,请先