awhs123 发表于 2019-6-15 16:20

N1盒子做微博机器人教程

本帖最后由 awhs123 于 2019-6-15 16:27 编辑

斐讯N1盒子作为一个电视盒子,能够刷成好多东西,算是拼夕夕的百元好货了{:144:}今天主要想跟大家分享的是N1盒子的新玩法——微博机器人。相信微博机器人大家都用过,接下来给大家放上教程。


N1盒子微博机器人主要功能

1.发布制定内容的微博,包括文字和图片,可以用来实时汇报设备的状态。
2.通过在微博下评论来控制设备,比如评论一条指令,来让你的设备执行

N1盒子做微博机器人教程

1.要先在微博开放平台创建一个应用,按照提示进行即可,需要注意的是要在应用信息-高级信息中将授权回调页改为
https://api.weibo.com/oauth2/default.html由于微博Api的限制,如果需要发微博的话必须要包含一个网页URL,所以我们还需要一句提示添加一个安全域名




安全域名填什么无所谓了,有些域名是不识别的,比如我自己的.xyz域名,所以我就随便填了个进去,这个域名会在你每次发微博的时候都要接在后面的。这个确实比较坑爹,然后来看一下我们都拿到那些信息了。App_Key="2261356123"
App_Secret="e0c7dffa49ddc32fab306d1e9a731d35"
url="http://www.ip111.cn"
授权回调页="https://api.weibo.com/oauth2/default.html"下面开始获取鉴权参数,就是验证你登陆的东西,一共有两个,code和access_token,在这之前,我们要借用一下浏览器里的cookies
用Chrome浏览器随意打开一个微博页面,登录进去,按F12,选择Network选项,并刷新一下


随意选择一项,右键,复制为curl


得到的curl连接并不全是我们需要的
curl 'https://rm.api.weibo.com/2/remind/push_count.json?trim_null=1&with_dm_group=0&with_settings=1&exclude_attitude=1&with_common_cmt=1&with_comment_attitude=1&with_common_attitude=1&with_moments=1&with_dm_unread=1&msgbox=true&with_page_group=1&with_chat_group=1&with_chat_group_notice=1&_pid=1&count=9&source=888888883&status_type=0&callback=STK_888888888888882' \
-H 'Accept-Encoding: gzip, deflate, br' \
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 88.0; Win88; x88) AppleWebKit/887.88 (KHTML, like Gecko) Chrome/88.0.8888.884 Safari/887.88' \
-H 'Accept: */*' \
-H 'Referer: https://www.weibo.com/u/8888888888/home?wvr=5' \
-H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3' \
-H 'Connection: keep-alive' --compressed我们只需要 -H 'cookie这一行
-H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3'最好找一个记事本,保存下来,以后还有许多地方需要用到。
然后我们需要让curl带着cookies来访问这个链接
https://api.weibo.com/oauth2/authorize?redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code&client_id=<App_Key>curl -LI "https://api.weibo.com/oauth2/authorize?redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code&client_id=<App_Key>" \
-H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3'会得到这样的返回值


对其筛选出我们需要的code值
curl -LI "url" | grep Location | sed 's/.*=//g'得到的code值带有一个回车,再把回车处理掉
truecode=${codee:0:32}就得到32位的code字符串了,然后去换取access_tokencurl 'https://api.weibo.com/oauth2/access_token' -d "client_id=<your app key>&client_secret=<your secret key>&grant_type=authorization_code&code=<上一步获取的truecode>&redirect_uri=https://api.weibo.com/oauth2/default.html" | jq -r '.access_token'access_token生命周期为一天,如果你创建的应用通过审核的话,就是30天,你也可以把自己搞成开发者测试token,生命期是五年
接下来使用access_token来发布微博
curl 'https://api.weibo.com/2/statuses/share.json' \
-F "access_token=${token}" \
-F "status=${bobo}<你的安全域名>"| jq '.'$boob就是你要发微博的内容,可以任意定义内容。
如果需要附加图片,也很简单,只需要添加一行代码即可
-F "pic=@${ppic};type=image/jpeg"$ppic用来指定图片的位置,需要使用绝对路径,比如
/root/xxx.jpg没有测试具体支持那些图片格式,大家自己测试吧,不过都9102年了,最好使用Jpg吧.
还可以通过读取微博评论的方式来读取指令让你的设备来执行
curl 'https://api.weibo.com/2/comments/show.json?access_token=<你的token>&id=666' | jq -r '.comments | .id,.text'可以读取微博id为666的最新一条评论以及评论的id
如果我们评论一条指令,并且让设备不停的读取该微博下的评论,就可以及时获取并执行该指令,为了防止重复执行,我们还应该在执行之后及时删除该评论
curl 'https://api.weibo.com/2/comments/destroy.json' \
-d 'access_token=<你的token>&cid=<上面获取的评论id>' > /dev/null全部代码见Github:https://github.com/yu123an/N1.sinarobot

分享网友:心理有数
以上就是N1盒子做微博机器人的全部内容啦,如果觉着内容有帮助,欢迎通过下方评论留言点赞~

更多科技资讯尽在ZNDS智能电视网APP
智能电视网APP下载地址:https://www.znds.com/downapp.html
https://data.znds.com/attachment/album/201906/05/200422l3vr3iffyfr1w1vr.jpg

逮到你发翻 发表于 2019-6-15 18:37

高手在当贝啊!学习了

awhs123 发表于 2019-6-15 18:37

自己顶顶

小鱼儿教育 发表于 2019-6-19 09:46

高手在当贝啊!学习了
页: [1]
查看完整版本: N1盒子做微博机器人教程