這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。
原文最初由deviceplus.jp發(fā)布,本文為英譯版。
今天,我將介紹如何通過“Twython”實(shí)現(xiàn)Raspberry Pi與Twitter(推特)之間的連接。我過去曾經(jīng)嘗試過連接Twitter,但是比想像的要難!這次,我們將按照Raspberry Pi 官方網(wǎng)站文檔里的方法來進(jìn)行。本文中,我們將使用2017年11月29日發(fā)布的“Raspbian Stretch with desktop”操作系統(tǒng)和“Raspberry Pi2Model B”。
什么是Twython?
Twython 官方網(wǎng)站
Twython – Twython 3.6.0 文檔
用于TwitterAPI的積極維護(hù)的純Python裝飾器。支持常規(guī)和流式Twitter APIs。
「Twython」是一個(gè)用于Twitter API的Python庫。
Twitter 庫 — Twitter 開發(fā)者
twython by @ryanmcgrath—用于Twitter API的積極維護(hù)的純Python裝飾器。支持常規(guī)和流式Twitter APIs。支持所有v1.1端點(diǎn),包括動(dòng)態(tài)函數(shù),因此用戶可以使用庫中尚未包含的端點(diǎn)。
官方Twitter中也介紹了這一點(diǎn)。
安裝 Twython
圖 1
Twitter API 入門簡介
現(xiàn)在我們繼續(xù)。當(dāng)您想切換頁面時(shí),請(qǐng)點(diǎn)擊左側(cè)菜單,因?yàn)閁RL不可以更改。
正數(shù)第二個(gè)選項(xiàng),“您需要什么”,里面描述了如何安裝“用于Python 3的Twython”。
像往常一樣,我們先對(duì)系統(tǒng)進(jìn)行更新。
sudo apt-get update
sudo apt-get upgrade
接下來,輸入“Twython”安裝指令。
sudo pip3 install twython
之后將顯示如下信息:
圖 2
輸入“pip3 list”指令,顯示內(nèi)容中有“twython (3.4.0)”,證明安裝成功。
最后,執(zhí)行一個(gè)確認(rèn)指令,檢查所需要的內(nèi)容是否已具備。
python3 -c "import twython"
圖 3
如果沒有出現(xiàn)錯(cuò)誤信息,就表示準(zhǔn)備工作已經(jīng)完成!
在頁面末尾,有一條警告信息指出使用Twitter API需要已驗(yàn)證的電話號(hào)碼。如果您沒有注冊(cè)電話號(hào)碼,將無法在應(yīng)用程序上完成Twitter的注冊(cè),因此請(qǐng)務(wù)必先完成電話號(hào)碼的注冊(cè)。
注冊(cè)一個(gè)Twitter賬戶
第三條中的“創(chuàng)建一個(gè)Twitter賬戶”詳細(xì)介紹了如何創(chuàng)建Twitter賬戶。對(duì)于第一次注冊(cè)的用戶,請(qǐng)參考Twitter 官方網(wǎng)站上的信息對(duì)賬戶進(jìn)行設(shè)置。如果使用的是已有賬戶,請(qǐng)轉(zhuǎn)至第四頁。
“創(chuàng)建一個(gè)Twitter應(yīng)用程序”中詳細(xì)說明了如何創(chuàng)建一個(gè)Twitter應(yīng)用程序。
在Twitter 應(yīng)用程序管理頁面中登錄Twitter賬戶,并點(diǎn)擊“創(chuàng)建一個(gè)新的應(yīng)用程序”按鈕。
圖 4
接下來,輸入“名稱”、“描述”和“網(wǎng)址”。在“網(wǎng)址”輸入相應(yīng)內(nèi)容是必要的,但是因?yàn)槲也粫?huì)公開此賬號(hào),所以在這里我輸入了自己的Twitter URL。同意條款和條約后,點(diǎn)擊“創(chuàng)建您的Twitter應(yīng)用程序”按鈕。
圖 5
如果您沒有為您的Twitter賬戶注冊(cè)電話號(hào)碼,將會(huì)出現(xiàn)以上錯(cuò)誤信息。
發(fā)生這種情況時(shí),請(qǐng)參閱以下文件來注冊(cè)電話號(hào)碼。
如何為您的賬戶注冊(cè)電話號(hào)碼
圖 6
完成注冊(cè)后,點(diǎn)擊“密鑰和訪問令牌”按鈕。
“消費(fèi)者密鑰(API密鑰)”和“消費(fèi)者秘密(API秘密)”是使用Twython進(jìn)行相關(guān)驗(yàn)證時(shí)需要的值。
首先,我們來確認(rèn)一下訪問級(jí)別。
如果您將其設(shè)置為“可讀和可寫”,那就沒問題了。我將該設(shè)定作為默認(rèn)設(shè)置,但是您可以通過點(diǎn)擊“修改應(yīng)用程序權(quán)限”鏈接隨時(shí)對(duì)其進(jìn)行更改。
接下來是創(chuàng)建訪問令牌。點(diǎn)擊屏幕底部的“創(chuàng)建我的訪問令牌”按鈕。
圖 7
在“您的訪問令牌”下,將顯示“訪問令牌”和“訪問令牌秘密”。與之前的“消費(fèi)者密鑰(API密鑰)”和“消費(fèi)者秘密(API秘密)”相同,使用Twython時(shí)會(huì)用到這些值。
設(shè)置日期/時(shí)間
第五頁中的“設(shè)置系統(tǒng)日期/時(shí)間”是設(shè)置日期和時(shí)間的有關(guān)信息,所以我們?cè)赗aspberry Pi的設(shè)置中對(duì)日期和時(shí)間進(jìn)行調(diào)整。
在Twitter上發(fā)帖!
進(jìn)行到第六頁中“從Python發(fā)送一條推文”這一步,我們終于有了寫程序的機(jī)會(huì)!從菜單中選擇“Programming(編程)”—“Python 3(IDEL)”并打開編輯器。
圖 8
最初顯示的內(nèi)容如上所示,但是如果一直這樣保持不變,那么將會(huì)依次逐行執(zhí)行所有的指令,所以我們來點(diǎn)擊[File] – [New File]創(chuàng)建一個(gè)新的程序。按照下圖順序依次寫入“Consumer Key (API Key)”、“Consumer Secret (API Secret)”、“Access Token”、“Access Token Secret”,并將其儲(chǔ)存在名為“auth.py”的文件中。
01 02 consumer_key = 'ABCDEFGHIJKLKMNOPQRSTUVWXYZ' 03 04 consumer_secret = '1234567890ABCDEFGHIJKLMNOPQRSTUVXYZ' access_token = 'ZYXWVUTSRQPONMLKJIHFEDCBA' access_token_secret = '0987654321ZYXWVUTSRQPONMLKJIHFEDCBA'
寫Python程序的時(shí)候需要注意,前導(dǎo)空格和制表符所導(dǎo)致的縮進(jìn)會(huì)對(duì)程序產(chǎn)生影響。
(縮進(jìn)字符相同的行會(huì)被視為塊)
我將該文件保存在“/home/pi/”目錄中。我想當(dāng)您以pi用戶的身份登錄時(shí),該目錄會(huì)被認(rèn)為是默認(rèn)保存路徑。接下來,我們將會(huì)輸入用于Twitter發(fā)帖的程序。再一次點(diǎn)擊[File]-[New File]創(chuàng)建一個(gè)新的文件,并寫入程序,如下所示。然后,將文件命名為“twitter.py”并保存到與“auth.py”相同的路徑中。
01 02 from twython import Twython 03 04 from auth import ( 05 06 consumer_key, 07 08 consumer_secret, 09 10 access_token, 11 12 access_token_secret 13 ) 14 15 16 twitter = Twython( 17 18 consumer_key, consumer_secret, access_token, access_token_secret ) message = "Hello world!" twitter.update_status(status=message) print("Tweeted: %s" % message)
在“twitter.py”窗口處于活動(dòng)狀態(tài)時(shí),按下“F5”鍵或執(zhí)行頂部菜單中的“Run -> Run Module”。
圖 9
然后執(zhí)行屏幕應(yīng)顯示 「Tweeted:Hello world!」
圖 10
我們通過訪問Twitter來對(duì)該結(jié)果進(jìn)行確認(rèn)。如果“Hello world!”被發(fā)布,就證明我們成功了!
圖 11
如果您繼續(xù)發(fā)布相同的推文,則會(huì)出現(xiàn)如上所示的錯(cuò)誤消息。發(fā)生這種情況時(shí),請(qǐng)嘗試更改“推文”的內(nèi)容或者詞序以使其正常工作。
總結(jié)
在“Twython”的第1部分中,我們僅介紹到推文的字符詞序這一部分。
之前當(dāng)我做Twitter的有關(guān)項(xiàng)目時(shí),我會(huì)直接訪問Twitter的API,但是用了這個(gè)庫之后難度會(huì)降低很多。
我認(rèn)為,以Python為基礎(chǔ)的“Twython”可以很容易地應(yīng)用到任何使用元器件的電子產(chǎn)品中實(shí)現(xiàn)一些功能,如發(fā)布照片、搜索推文等等。我們將在下一篇文章中進(jìn)一步討論這些內(nèi)容!
下一次,我們將執(zhí)行文檔7-9頁的內(nèi)容,并嘗試發(fā)布多種類型的推文!
DevicePlus 編輯團(tuán)隊(duì)
設(shè)備升級(jí)版適用于所有熱愛電子和機(jī)電一體化的人。
審核編輯黃宇
-
Raspberry Pi
+關(guān)注
關(guān)注
2文章
559瀏覽量
22349
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
請(qǐng)問Raspberry Pi怎么傳輸視頻?
在Raspberry Pi上通過網(wǎng)絡(luò)控制LED
![<b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b><b class='flag-5'>通過</b>網(wǎng)絡(luò)控制LED](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
一款用Raspberry Pi和傳感器制作的可穿戴式小型健康管理設(shè)備!第四部分?劇終篇
![一款用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感器制作的可穿戴式小型健康管理設(shè)備!第四<b class='flag-5'>部分</b>?劇終篇](https://file.elecfans.com/web2/M00/93/01/pYYBAGPzGYmAZjuOAAl8UJ8OSDY306.png)
用Raspberry Pi和傳感器制作“可自動(dòng)營造舒適空間的裝置” 第四部分?劇終篇
![用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感器制作“可自動(dòng)營造舒適空間的裝置” 第四<b class='flag-5'>部分</b>?劇終篇](https://file.elecfans.com/web2/M00/92/7F/poYBAGPzGoCAeKjhAAGBjG5VdoI782.jpg)
使用Crystal Signal Pi第3部分:使用Raspberry Pi創(chuàng)建警示燈解決方案—?jiǎng)?chuàng)建工具
![使用Crystal Signal <b class='flag-5'>Pi</b><b class='flag-5'>第</b>3<b class='flag-5'>部分</b>:使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>創(chuàng)建警示燈解決方案—?jiǎng)?chuàng)建工具](https://file.elecfans.com/web2/M00/93/05/pYYBAGPzHquAMjh5AAA4UWxSJJg167.png)
使用Crystal Signal Pi第1部分—使用Raspberry Pi創(chuàng)建警示燈解決方案
![使用Crystal Signal <b class='flag-5'>Pi</b><b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>—使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>創(chuàng)建警示燈解決方案](https://file.elecfans.com/web2/M00/92/83/poYBAGPzHvuAG_SMAASreuqWhqg897.png)
使用Raspberry Pi 3自制智能相框和日歷—第二部分
![使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3自制智能相框和日歷—第二<b class='flag-5'>部分</b>](https://file.elecfans.com/web2/M00/92/83/poYBAGPzH7SAErnHAAGOcqVpsMk645.jpg)
基于Raspberry Pi的DIY無人機(jī)第3部分–FPV設(shè)置指南
![基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的DIY無人機(jī)<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>–FPV設(shè)置指南](https://file.elecfans.com/web2/M00/93/07/pYYBAGPzIL2AFcRRAAS1rTEGIQg604.jpg)
電源設(shè)計(jì)方法-第1部分
![電源設(shè)計(jì)方法-<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論