這篇文章來源于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」是一個用于Twitter API的Python庫。
Twitter 庫 — Twitter 開發(fā)者
twython by @ryanmcgrath—用于Twitter API的積極維護(hù)的純Python裝飾器。支持常規(guī)和流式Twitter APIs。支持所有v1.1端點(diǎn),包括動態(tài)函數(shù),因此用戶可以使用庫中尚未包含的端點(diǎn)。
官方Twitter中也介紹了這一點(diǎn)。
安裝 Twython
圖 1
Twitter API 入門簡介
現(xiàn)在我們繼續(xù)。當(dāng)您想切換頁面時,請點(diǎn)擊左側(cè)菜單,因?yàn)閁RL不可以更改。
正數(shù)第二個選項(xiàng),“您需要什么”,里面描述了如何安裝“用于Python 3的Twython”。
像往常一樣,我們先對系統(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í)行一個確認(rèn)指令,檢查所需要的內(nèi)容是否已具備。
python3 -c "import twython"
圖 3
如果沒有出現(xiàn)錯誤信息,就表示準(zhǔn)備工作已經(jīng)完成!
在頁面末尾,有一條警告信息指出使用Twitter API需要已驗(yàn)證的電話號碼。如果您沒有注冊電話號碼,將無法在應(yīng)用程序上完成Twitter的注冊,因此請務(wù)必先完成電話號碼的注冊。
注冊一個Twitter賬戶
第三條中的“創(chuàng)建一個Twitter賬戶”詳細(xì)介紹了如何創(chuàng)建Twitter賬戶。對于第一次注冊的用戶,請參考Twitter 官方網(wǎng)站上的信息對賬戶進(jìn)行設(shè)置。如果使用的是已有賬戶,請轉(zhuǎn)至第四頁。
“創(chuàng)建一個Twitter應(yīng)用程序”中詳細(xì)說明了如何創(chuàng)建一個Twitter應(yīng)用程序。
在Twitter 應(yīng)用程序管理頁面中登錄Twitter賬戶,并點(diǎn)擊“創(chuàng)建一個新的應(yīng)用程序”按鈕。
圖 4
接下來,輸入“名稱”、“描述”和“網(wǎng)址”。在“網(wǎng)址”輸入相應(yīng)內(nèi)容是必要的,但是因?yàn)槲也粫_此賬號,所以在這里我輸入了自己的Twitter URL。同意條款和條約后,點(diǎn)擊“創(chuàng)建您的Twitter應(yīng)用程序”按鈕。
圖 5
如果您沒有為您的Twitter賬戶注冊電話號碼,將會出現(xiàn)以上錯誤信息。
發(fā)生這種情況時,請參閱以下文件來注冊電話號碼。
如何為您的賬戶注冊電話號碼
圖 6
完成注冊后,點(diǎn)擊“密鑰和訪問令牌”按鈕。
“消費(fèi)者密鑰(API密鑰)”和“消費(fèi)者秘密(API秘密)”是使用Twython進(jìn)行相關(guān)驗(yàn)證時需要的值。
首先,我們來確認(rèn)一下訪問級別。
如果您將其設(shè)置為“可讀和可寫”,那就沒問題了。我將該設(shè)定作為默認(rèn)設(shè)置,但是您可以通過點(diǎn)擊“修改應(yīng)用程序權(quán)限”鏈接隨時對其進(jìn)行更改。
接下來是創(chuàng)建訪問令牌。點(diǎn)擊屏幕底部的“創(chuàng)建我的訪問令牌”按鈕。
圖 7
在“您的訪問令牌”下,將顯示“訪問令牌”和“訪問令牌秘密”。與之前的“消費(fèi)者密鑰(API密鑰)”和“消費(fèi)者秘密(API秘密)”相同,使用Twython時會用到這些值。
設(shè)置日期/時間
第五頁中的“設(shè)置系統(tǒng)日期/時間”是設(shè)置日期和時間的有關(guān)信息,所以我們在Raspberry Pi的設(shè)置中對日期和時間進(jìn)行調(diào)整。
在Twitter上發(fā)帖!
進(jìn)行到第六頁中“從Python發(fā)送一條推文”這一步,我們終于有了寫程序的機(jī)會!從菜單中選擇“Programming(編程)”—“Python 3(IDEL)”并打開編輯器。
圖 8
最初顯示的內(nèi)容如上所示,但是如果一直這樣保持不變,那么將會依次逐行執(zhí)行所有的指令,所以我們來點(diǎn)擊[File] – [New File]創(chuàng)建一個新的程序。按照下圖順序依次寫入“Consumer Key (API Key)”、“Consumer Secret (API Secret)”、“Access Token”、“Access Token Secret”,并將其儲存在名為“auth.py”的文件中。
01 02 consumer_key = 'ABCDEFGHIJKLKMNOPQRSTUVWXYZ' 03 04 consumer_secret = '1234567890ABCDEFGHIJKLMNOPQRSTUVXYZ' access_token = 'ZYXWVUTSRQPONMLKJIHFEDCBA' access_token_secret = '0987654321ZYXWVUTSRQPONMLKJIHFEDCBA'
寫Python程序的時候需要注意,前導(dǎo)空格和制表符所導(dǎo)致的縮進(jìn)會對程序產(chǎn)生影響。
(縮進(jìn)字符相同的行會被視為塊)
我將該文件保存在“/home/pi/”目錄中。我想當(dāng)您以pi用戶的身份登錄時,該目錄會被認(rèn)為是默認(rèn)保存路徑。接下來,我們將會輸入用于Twitter發(fā)帖的程序。再一次點(diǎn)擊[File]-[New File]創(chuàng)建一個新的文件,并寫入程序,如下所示。然后,將文件命名為“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”窗口處于活動狀態(tài)時,按下“F5”鍵或執(zhí)行頂部菜單中的“Run -> Run Module”。
圖 9
然后執(zhí)行屏幕應(yīng)顯示 「Tweeted:Hello world!」
圖 10
我們通過訪問Twitter來對該結(jié)果進(jìn)行確認(rèn)。如果“Hello world!”被發(fā)布,就證明我們成功了!
圖 11
如果您繼續(xù)發(fā)布相同的推文,則會出現(xiàn)如上所示的錯誤消息。發(fā)生這種情況時,請嘗試更改“推文”的內(nèi)容或者詞序以使其正常工作。
總結(jié)
在“Twython”的第1部分中,我們僅介紹到推文的字符詞序這一部分。
之前當(dāng)我做Twitter的有關(guān)項(xiàng)目時,我會直接訪問Twitter的API,但是用了這個庫之后難度會降低很多。
我認(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ī)電一體化的人。
審核編輯黃宇
-
Raspberry Pi
+關(guān)注
關(guān)注
2文章
559瀏覽量
22290
發(fā)布評論請先 登錄
相關(guān)推薦
評論