微信硬件平台(九) 自己的服务器从微信获取token并保存txt

1安装crontab:

yum install crontabs

  

说明:

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动

chkconfig crond on

  

2使用创建新任务

调用一次获取依次token,存在txt文件里

token.php

请修改自己微信的开发者ID信息

强调:  所有路径都必须给绝对路径!!!  不管是执行文件本身路径,还是文件里面填写的其他路径!!!

手动执行正常可以改变

但是!!!!!!!!!!!!!!!

自动任务执行,txt始终不变!!!!

原因在于,自动执行任务没有加载环境变量配置,不知道这个txt位置,所以txt文件必须给绝对路径!!!!!!

<?php
class TokenUtil {
    //获取access_token并保存到token.txt文件中
    public static function build_access_token(){
        $ch = curl_init(); //初始化一个CURL对象
        curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己的微信开发者ID&secret=自己的微信开发者密码");//设置你所需要抓取的URL
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中,假设上面的0换成1的话,那么接下来的$data就需要echo一下。
        $data = json_decode(curl_exec($ch));
       // echo data;

        if($data->access_token){
            $token_file = fopen("/var/www/html/WexinToken/token.txt","w") or die("Unable to open file!");//打开token.txt文件,没有会新建
            fwrite($token_file,$data->access_token);//重写tken.txt全部内容
            fclose($token_file);//关闭文件流
        }else{
            echo $data->errmsg;
        }
        curl_close($ch);
    }

    //设置定时器,每两小时执行一次build_access_token()函数获取一次access_token
    public static function set_interval(){
      	echo "go set_interval!";
        ignore_user_abort();//关闭浏览器仍然执行
        set_time_limit(0);//让程序一直执行下去
        $interval = 7200;//每隔一定时间运行
        $switch = include ‘switch.php‘;
       while($switch){
       	    $switch = include ‘switch.php‘;
          //  build_access_token();
            sleep($interval);//等待时间,进行下一次操作。

            echo "go!";
        };
    }

    //读取token
    public static function read_token(){
        $token_file = fopen("token.txt", "r") or die("Unable to open file!");
        $rs = fgets($token_file);
        fclose($token_file);
        return $rs;
    }
}

   // echo "1!";
    $wechat = new TokenUtil();

   //  echo "2!";
    $wechat->build_access_token();

    // $wechat->read_token();

  ?>

  token.txt

用于存放接收到的token

给与token.txt操作权限

sudo chmod -R 777 test.txt  
创建一个新任务,每两个小时调用一次token.php,修改token.txt
crontab -e

  

按 i  进入插入模式

先用 一分钟请求一次

*/1 * * * * /usr/bin/php /var/www/html/WexinToken/token.php

验证下是否修改了txt

成功后删除原来的定时任务

crontab -r

  

输入一个新命令  每两个小时执行一次

* */2 * * * /usr/bin/php /var/www/html/WexinToken/token.php

  

退出保存

1按 Esc

2按:

3按wq

4回车

查看正在运行的定时任务

crontab -l

  

重新载入配置文件或者重启服务以开始执行

service crond restart

  

如果想要删除配置,执行

crontab -r

no crontab for root 解决方案

主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑(crontab -e)后 就生成了这个文件

[root@localhost ~]# crontab -l
no crontab for root

这个问题非常简单,同样在 root 用户下输入 crontab -e

1 按 Esc

2按:

3按wq

4回车

在输入 crontab -l 就没有问题了

原文地址:https://www.cnblogs.com/kekeoutlook/p/10480875.html

时间: 2024-08-30 03:52:39

微信硬件平台(九) 自己的服务器从微信获取token并保存txt的相关文章

微信公众号开发--开发服务器接入微信服务器

1.微信公众号注册到微信公众平台(https://mp.weixin.qq.com/)注册公众号.公众号有“服务号”,“订阅号”,“企业号”三种类别,“服务号”主要面向企业和个人,“订阅号”主要面向组织和个人.申请完毕后,登陆公众号,进入管理界面,公众号对应的二维码如下所示:2.开发服务器配置URL是开发者用来接收微信消息和事件的接口URLToken可由开发者任意填写,用作生成签名EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密秘钥 3.验证开发服务器地址有效性开发者提

微信硬件平台的基础接入和硬件云标准接入分析

本文分析基于微信硬件平台的物联网架构,将从物联网的核心要素.物联网的关键场景.微信硬件平台的通信协议分析三个维度去分析.更多的微信硬件平台开发的深度技术原创分享请订阅微信公众号:嵌入式企鹅圈. 微信硬件平台包括基础接入方案与微信硬件云标准接入方案.前者是在应用端和设备端都完全由厂商开发,微信硬件平台只负责用户管理.设备管理和透明的消息推送:后者是在前者的基础上,给设备端提供了直连SDK(可以适配linux/Android等平台).提供设备API给第三方硬件平台接入,甚至在应用端根据各种家电场景定

一张图读懂基于微信硬件平台的物联网架构

本文从物联网的核心要素.物联网的关键场景.微信硬件平台的通信协议分析三个维度去分析基于微信硬件平台的物联网架构.相关的背景知识请阅读微信公众号:嵌入式企鹅圈发布的有关物联网和微信硬件专题文章. 一. 基于微信硬件平台的物联网架构图示 上图涵盖以下信息: 1.   基于微信硬件平台的物联网的架构组成,有微信公众平台/硬件平台.第三方厂商云后端.手机微信/公众号.微信硬件设备终端(Wifi和蓝牙BLE). 2.   绿色代表腾讯向开发者和公众提供的基础平台和服务,并通过红色(airsync/airk

weblogic下 微信公众平台获取token报错

问题描述: 开发微信公众平台,本地tomcat可以正常获取token并发送模板消息,部署在weblogic后报错,异常信息如下: java.security.InvalidKeyException: Illegal key size 解决办法: 在weblogic启动脚本中添加-DUseSunHttpHandler=true ,告诉WebLogic使用Sun的HttpHandler而不要使用WebLogic自己的. 参考资料:http://blog.csdn.net/arvinrong/arti

微信硬件平台

调用openApi 微信硬件平台是微信推出连接物与人,物与物的IOT解决方案.也就是说可以通过微信控制各种智能设备.比如一些蓝牙设备.空调.电视等等. 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小团队里我负责开发H5自定义面板,刚开始看官方文档各种迷糊,对于jssdk.jsapi.Airkiss.openApi.直连SDK都不知道该用哪个做,官方论坛问问题基本上没结果,加了几个微信硬件群问问题,发现好些开发者和我一样,同一个问题,发到几个群里问,画面好心酸.给wxthin

微信硬件平台框架说明及接入流程

微信硬件平台框架说明及接入流程1 / 15 硬件平台框架说明及接入流程 V0.5 Tencent Confidential 硬件平台框架说明及接入流程 2 / 15 文档变更日志 部门 微信事业群\开放平台创新部\创新二组 版本 描述 撰写人员 更新日期 V0.1 初稿 jeffqi.genewu 2014/07/8 V0.2 加入Q&A jeffqi.genewu 2014/07/8 V0.3 针对常见问题,增加说明.流程图优化. jeffqi.genewu 2014/07/9 V0.4 添加

微信硬件平台 (1) 总说明

微信硬件平台 本文目的,使用微信公众号控制ESP8266的LED开和关.进一步使用微信当遥控器(避免写APP或者IOS或者小程序),控制一切设备.给两个关键的总教程参考. 官网教程  微信硬件平台 微信控制arduino点亮LED教程 目前整体测试效果 打开微信,关注自己的公众号 功能结构图 1 公众号注册 1.申请认证公众号&开通设备功能 1.1公众号申请: https://mp.weixin.qq.com 个人订阅号    功能有限,不能有设备管理模块功能,本教程系列使用的是订阅号,做一个测

微信硬件平台(二) 企业服务号号设备注册和绑定

该教程目的:在教程1里,完成了微信服务器向自己的服务器转发公众号收到的数据.但是缺少用户认证,设备注册,设备绑定等功能.这里使用调试助手模拟一个实际的设备(空调,灯),直接向微信硬件云注册和授权,绑定个人的微信账号.这里暂时没有用的自己的服务器. 微信教程 网友调试过程    微信硬件平台下设备与微信通信 需要: 1 申请一个服务号(必须有企业组织代码,法人等信息). 没有公司的开通一个测试账号.这里使用的是一个公司注册后的服务号. 2 在公众号-设备功能-添加几个设备 (图标随便上传的) 因为

微信硬件平台(六) 设备直连微信云

微信硬件开发文档 智能硬件厂家的痛点 微信硬件平台是基于微信公众号体系的智能硬件平台,在公众号的技术架构里,设备厂商必须要有自己的服务器.厂商服务器主要完成两部分工作: 1.管理设备的连接登录.鉴权.状态上报.命令发送.固件更新等基础网络功能: 2.通过H5页面或者微信公众平台消息接口,接收设备用户的操作命令,处理设备业务逻辑,展示设备状态给微信用户. 这两部分工作相对独立. 对于硬件设备厂家来说,服务器第一项工作受到各种因素限制,实现起来相对困难,增加了研发投入时间.精力.资金成本. 同时各个