搭建简易的物联网服务端和客户端-微博接口(十四)
想通过微博来定时发送相关数据(由于没认证,所以接口调用一下就到了限制,明天继续。。。) 代码地址:https://github.com/klren0312/stm32_wifi 2017.4.10
微博通知
1.weibo开发者平台
(1)网址 http://open.weibo.com/ (2)创建应用
QQ截图20170409215555.png
(3)获取App Key 和 App Secret
QQ截图20170409215631.png
(4)了解OAuth2认证流程
oAuth2_01.gif
2.Nodejs的nodeweibo模块
(1)github网址 https://github.com/vczero/node-weibo
pak.png
(2)安装
npm install nodeweibo
3.nodeweibo模块使用
(1)编写setting.json配置文件
QQ截图20170409220201.png
(2)开启微博认证 ,获取 OAuth2需要的code。会弹出授权页面,同意后会在跳转后的页面url上看到code。
var Weibo = require('nodeweibo');
var setting = require('./setting.json');
Weibo.init(setting);
Weibo.authorize();
QQ截图20170409220330.png
(3)接着是通过code获取access_token,注意下面的程序和上面是独立的。access_token每次都是一样的,所以当授权到期,只要进行上面的开启微博认证即可。
var Weibo = require('nodeweibo');
var setting = require('./setting.json');
Weibo.init(setting);
var paras={
code:"上面程序获得到的code",
grant_type:"authorization_code"
};
Weibo.OAuth2.access_token(paras,function(data){
console.log(data);//命令行中会打印出access_token
})
QQ截图20170409220811.png
(4)接下来调用statuses/update
接口,来发送微博信息
var Weibo = require('nodeweibo');
var setting = require('./setting.json');
Weibo.init(setting);
// access_token应该是不变的,status里面试要发送的内容
var para = {
"access_token":"上面获得到的access_token",
"status":"微博发送的信息"
}
Weibo.Statuses.update(para,function(data){
console.log(data);
})
QQ截图20170409221049.png
4.nodejs定时发送模块
(1)github网址 https://github.com/node-schedule/node-schedule
(2)安装
npm install node-schedule
(3)时间格式
QQ截图20170409221743.png
5.node-schedule模块使用
(1)每分钟的第一秒进行操作
var rule = new schedule.RecurrenceRule();
rule.second = 2;
var j = schedule.scheduleJob(rule,function(){
var para = {
"access_token":"",
"status":"测试"
}
Weibo.Statuses.update(para,function(data){
console.log(data);
})
});
@治电小白菜20170410
- 恢复WordPress分类目录的别名链接形式
- 替代crontab,统一定时任务管理系统cronsun简介
- 小网站最简单实用的动静分离优化方案
- Haproxy进阶管理:命令行控制后端节点上下线
- 网站集成打字震动特效JS代码改进版
- Linux基础知识之文件隐藏属性
- Linux系统chmod误操作目录权限恢复方法
- 结合VBS,实现批处理自动以管理员身份执行
- ASM 翻译系列第三十六弹:ACFS磁盘组的重平衡操作
- Linux基础知识之xargs命令
- HDU-------(2795)Billboard(线段树区间更新)
- ASM 翻译系列第三十七弹:ASM密码文件目录
- 发现插件生成的robots.txt不能被谷歌和360识别
- Github 年度开源报告:TensorFlow 成最受欢迎深度学习项目
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 贷款违约预测-Task1 赛题理解
- Android功耗优化(7)---如何分析wakelock(wakeup source)持锁问题
- 一道有意思的腾讯算法面试题
- 关于 JavaScript 错误处理的最完整指南(上半部)
- 排障集锦:九九八十一难之第十六难!-------------enoent ENOENT: no such file or directory, open ‘/root/package.json‘
- 大点干!早点散----------深入剖析GFS分布式文件系统
- 大点干!早点散----------ELK企业日志分析系统理论+实战!
- 面试题系列第8篇:谈谈String、StringBuffer、StringBuilder的区别?
- HTTP协议的请求与数据抓包
- Ubuntu 18.04 LTS 通过 Netplan 配置网络教程
- 【kafka源码】kafka内部的一些术语
- TKE使用自建NFS持久化存储
- 网站 SSL 检测 PCI DSS 不合规解决办法
- leetcode链表之分割链表
- 五分钟带你读懂 TCP全连接队列(图文并茂)