电子说
这篇文章来源于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 编辑团队
设备升级版适用于所有热爱电子和机电一体化的人。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !