這篇文章來源于DevicePlus.com英語網站的翻譯稿。
原文最初由deviceplus.jp發布,本文為英譯版。
今天,我將介紹如何通過“Twython”實現Raspberry Pi與Twitter(推特)之間的連接。我過去曾經嘗試過連接Twitter,但是比想像的要難!這次,我們將按照Raspberry Pi 官方網站文檔里的方法來進行。本文中,我們將使用2017年11月29日發布的“Raspbian Stretch with desktop”操作系統和“Raspberry Pi2Model B”。
什么是Twython?
Twython 官方網站
Twython – Twython 3.6.0 文檔
用于TwitterAPI的積極維護的純Python裝飾器。支持常規和流式Twitter APIs。
「Twython」是一個用于Twitter API的Python庫。
Twitter 庫 — Twitter 開發者
twython by @ryanmcgrath—用于Twitter API的積極維護的純Python裝飾器。支持常規和流式Twitter APIs。支持所有v1.1端點,包括動態函數,因此用戶可以使用庫中尚未包含的端點。
官方Twitter中也介紹了這一點。
安裝 Twython
圖 1
Twitter API 入門簡介
現在我們繼續。當您想切換頁面時,請點擊左側菜單,因為URL不可以更改。
正數第二個選項,“您需要什么”,里面描述了如何安裝“用于Python 3的Twython”。
像往常一樣,我們先對系統進行更新。
sudo apt-get update
sudo apt-get upgrade
接下來,輸入“Twython”安裝指令。
sudo pip3 install twython
之后將顯示如下信息:
圖 2
輸入“pip3 list”指令,顯示內容中有“twython (3.4.0)”,證明安裝成功。
最后,執行一個確認指令,檢查所需要的內容是否已具備。
python3 -c "import twython"
圖 3
如果沒有出現錯誤信息,就表示準備工作已經完成!
在頁面末尾,有一條警告信息指出使用Twitter API需要已驗證的電話號碼。如果您沒有注冊電話號碼,將無法在應用程序上完成Twitter的注冊,因此請務必先完成電話號碼的注冊。
注冊一個Twitter賬戶
第三條中的“創建一個Twitter賬戶”詳細介紹了如何創建Twitter賬戶。對于第一次注冊的用戶,請參考Twitter 官方網站上的信息對賬戶進行設置。如果使用的是已有賬戶,請轉至第四頁。
“創建一個Twitter應用程序”中詳細說明了如何創建一個Twitter應用程序。
在Twitter 應用程序管理頁面中登錄Twitter賬戶,并點擊“創建一個新的應用程序”按鈕。
圖 4
接下來,輸入“名稱”、“描述”和“網址”。在“網址”輸入相應內容是必要的,但是因為我不會公開此賬號,所以在這里我輸入了自己的Twitter URL。同意條款和條約后,點擊“創建您的Twitter應用程序”按鈕。
圖 5
如果您沒有為您的Twitter賬戶注冊電話號碼,將會出現以上錯誤信息。
發生這種情況時,請參閱以下文件來注冊電話號碼。
如何為您的賬戶注冊電話號碼
圖 6
完成注冊后,點擊“密鑰和訪問令牌”按鈕。
“消費者密鑰(API密鑰)”和“消費者秘密(API秘密)”是使用Twython進行相關驗證時需要的值。
首先,我們來確認一下訪問級別。
如果您將其設置為“可讀和可寫”,那就沒問題了。我將該設定作為默認設置,但是您可以通過點擊“修改應用程序權限”鏈接隨時對其進行更改。
接下來是創建訪問令牌。點擊屏幕底部的“創建我的訪問令牌”按鈕。
圖 7
在“您的訪問令牌”下,將顯示“訪問令牌”和“訪問令牌秘密”。與之前的“消費者密鑰(API密鑰)”和“消費者秘密(API秘密)”相同,使用Twython時會用到這些值。
設置日期/時間
第五頁中的“設置系統日期/時間”是設置日期和時間的有關信息,所以我們在Raspberry Pi的設置中對日期和時間進行調整。
在Twitter上發帖!
進行到第六頁中“從Python發送一條推文”這一步,我們終于有了寫程序的機會!從菜單中選擇“Programming(編程)”—“Python 3(IDEL)”并打開編輯器。
圖 8
最初顯示的內容如上所示,但是如果一直這樣保持不變,那么將會依次逐行執行所有的指令,所以我們來點擊[File] – [New File]創建一個新的程序。按照下圖順序依次寫入“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程序的時候需要注意,前導空格和制表符所導致的縮進會對程序產生影響。
(縮進字符相同的行會被視為塊)
我將該文件保存在“/home/pi/”目錄中。我想當您以pi用戶的身份登錄時,該目錄會被認為是默認保存路徑。接下來,我們將會輸入用于Twitter發帖的程序。再一次點擊[File]-[New File]創建一個新的文件,并寫入程序,如下所示。然后,將文件命名為“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”窗口處于活動狀態時,按下“F5”鍵或執行頂部菜單中的“Run -> Run Module”。
圖 9
然后執行屏幕應顯示 「Tweeted:Hello world!」
圖 10
我們通過訪問Twitter來對該結果進行確認。如果“Hello world!”被發布,就證明我們成功了!
圖 11
如果您繼續發布相同的推文,則會出現如上所示的錯誤消息。發生這種情況時,請嘗試更改“推文”的內容或者詞序以使其正常工作。
總結
在“Twython”的第1部分中,我們僅介紹到推文的字符詞序這一部分。
之前當我做Twitter的有關項目時,我會直接訪問Twitter的API,但是用了這個庫之后難度會降低很多。
我認為,以Python為基礎的“Twython”可以很容易地應用到任何使用元器件的電子產品中實現一些功能,如發布照片、搜索推文等等。我們將在下一篇文章中進一步討論這些內容!
下一次,我們將執行文檔7-9頁的內容,并嘗試發布多種類型的推文!
DevicePlus 編輯團隊
設備升級版適用于所有熱愛電子和機電一體化的人。
審核編輯黃宇
-
Raspberry Pi
+關注
關注
1文章
557瀏覽量
22162
發布評論請先 登錄
相關推薦
評論