本帖最后由 awhs123 于 2019-6-15 16:27 編輯
斐訊N1盒子作為一個電視盒子,能夠刷成好多東西,算是拼夕夕的百元好貨了今天主要想跟大家分享的是N1盒子的新玩法——微博機器人。相信微博機器人大家都用過,接下來給大家放上教程。
8.jpg (54.25 KB, 下載次數(shù): 5)
下載附件
保存到相冊
2019-6-15 16:18 上傳
N1盒子微博機器人主要功能
1.發(fā)布制定內(nèi)容的微博,包括文字和圖片,可以用來實時匯報設備的狀態(tài)。
2.通過在微博下評論來控制設備,比如評論一條指令,來讓你的設備執(zhí)行
N1盒子做微博機器人教程
1.要先在微博開放平臺創(chuàng)建一個應用,按照提示進行即可,需要注意的是要在應用信息-高級信息中將授權回調(diào)頁改為
- https://api.weibo.com/oauth2/default.html
復制代碼 由于微博Api的限制,如果需要發(fā)微博的話必須要包含一個網(wǎng)頁URL,所以我們還需要一句提示添加一個安全域名
3.jpg (53.55 KB, 下載次數(shù): 3)
下載附件
保存到相冊
2019-6-15 16:04 上傳
4.jpg (42.45 KB, 下載次數(shù): 5)
下載附件
保存到相冊
2019-6-15 16:05 上傳
安全域名填什么無所謂了,有些域名是不識別的,比如我自己的.xyz域名,所以我就隨便填了個進去,這個域名會在你每次發(fā)微博的時候都要接在后面的。這個確實比較坑爹,然后來看一下我們都拿到那些信息了。 - App_Key="2261356123"
- App_Secret="e0c7dffa49ddc32fab306d1e9a731d35"
- url="http://www.ip111.cn"
- 授權回調(diào)頁="https://api.weibo.com/oauth2/default.html"
復制代碼下面開始獲取鑒權參數(shù),就是驗證你登陸的東西,一共有兩個,code和access_token,在這之前,我們要借用一下瀏覽器里的cookies
用Chrome瀏覽器隨意打開一個微博頁面,登錄進去,按F12,選擇Network選項,并刷新一下
5.jpg (227.32 KB, 下載次數(shù): 4)
下載附件
保存到相冊
2019-6-15 16:09 上傳
隨意選擇一項,右鍵,復制為curl
6.jpg (233.75 KB, 下載次數(shù): 9)
下載附件
保存到相冊
2019-6-15 16:10 上傳
得到的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'
復制代碼會得到這樣的返回值
7.jpg (107.18 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2019-6-15 16:11 上傳
對其篩選出我們需要的code值
- curl -LI "url" | grep Location | sed 's/.*=//g'
復制代碼得到的code值帶有一個回車,再把回車處理掉
就得到32位的code字符串了,然后去換取access_token - curl '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生命周期為一天,如果你創(chuàng)建的應用通過審核的話,就是30天,你也可以把自己搞成開發(fā)者測試token,生命期是五年
接下來使用access_token來發(fā)布微博
- curl 'https://api.weibo.com/2/statuses/share.json' \
- -F "access_token=${token}" \
- -F "status=${bobo}<你的安全域名>" | jq '.'
復制代碼$boob就是你要發(fā)微博的內(nèi)容,可以任意定義內(nèi)容。
如果需要附加圖片,也很簡單,只需要添加一行代碼即可
- -F "pic=@${ppic};type=image/jpeg"
復制代碼$ppic用來指定圖片的位置,需要使用絕對路徑,比如
沒有測試具體支持那些圖片格式,大家自己測試吧,不過都9102年了,最好使用Jpg吧.
還可以通過讀取微博評論的方式來讀取指令讓你的設備來執(zhí)行
- curl 'https://api.weibo.com/2/comments/show.json?access_token=<你的token>&id=666' | jq -r '.comments[0] | .id,.text'
復制代碼可以讀取微博id為666的最新一條評論以及評論的id
如果我們評論一條指令,并且讓設備不停的讀取該微博下的評論,就可以及時獲取并執(zhí)行該指令,為了防止重復執(zhí)行,我們還應該在執(zhí)行之后及時刪除該評論
- curl 'https://api.weibo.com/2/comments/destroy.json' \
- -d 'access_token=<你的token>&cid=<上面獲取的評論id>' > /dev/null
復制代碼全部代碼見Github: https://github.com/yu123an/N1.sinarobot
分享網(wǎng)友:心理有數(shù)
以上就是N1盒子做微博機器人的全部內(nèi)容啦,如果覺著內(nèi)容有幫助,歡迎通過下方評論留言點贊~
|