通过Twython在Raspberry Pi上发推文!(第1部分)

电子说

1.3w人已加入

描述

这篇文章来源于DevicePlus.com英语网站的翻译稿。

Raspberry Pi

原文最初由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

Raspberry Pi图 1

Twitter API 入门简介
现在我们继续。当您想切换页面时,请点击左侧菜单,因为URL不可以更改。
正数第二个选项,“您需要什么”,里面描述了如何安装“用于Python 3的Twython”。
像往常一样,我们先对系统进行更新。

 

sudo apt-get update

 

 

sudo apt-get upgrade

 

接下来,输入“Twython”安装指令。

 

sudo pip3 install twython

 

之后将显示如下信息:

Raspberry Pi图 2

输入“pip3 list”指令,显示内容中有“twython (3.4.0)”,证明安装成功。
最后,执行一个确认指令,检查所需要的内容是否已具备。

 

python3 -c "import twython"

 

Raspberry Pi图 3

如果没有出现错误信息,就表示准备工作已经完成!
在页面末尾,有一条警告信息指出使用Twitter API需要已验证的电话号码。如果您没有注册电话号码,将无法在应用程序上完成Twitter的注册,因此请务必先完成电话号码的注册。

注册一个Twitter账户

第三条中的“创建一个Twitter账户”详细介绍了如何创建Twitter账户。对于第一次注册的用户,请参考Twitter 官方网站上的信息对账户进行设置。如果使用的是已有账户,请转至第四页。
“创建一个Twitter应用程序”中详细说明了如何创建一个Twitter应用程序。
在Twitter 应用程序管理页面中登录Twitter账户,并点击“创建一个新的应用程序”按钮。

Raspberry Pi图 4

接下来,输入“名称”、“描述”和“网址”。在“网址”输入相应内容是必要的,但是因为我不会公开此账号,所以在这里我输入了自己的Twitter URL。同意条款和条约后,点击“创建您的Twitter应用程序”按钮。

Raspberry Pi图 5

如果您没有为您的Twitter账户注册电话号码,将会出现以上错误信息。
发生这种情况时,请参阅以下文件来注册电话号码。
如何为您的账户注册电话号码

Raspberry Pi图 6

完成注册后,点击“密钥和访问令牌”按钮。
“消费者密钥(API密钥)”和“消费者秘密(API秘密)”是使用Twython进行相关验证时需要的值。
首先,我们来确认一下访问级别。
如果您将其设置为“可读和可写”,那就没问题了。我将该设定作为默认设置,但是您可以通过点击“修改应用程序权限”链接随时对其进行更改。
接下来是创建访问令牌。点击屏幕底部的“创建我的访问令牌”按钮。

Raspberry Pi图 7

在“您的访问令牌”下,将显示“访问令牌”和“访问令牌秘密”。与之前的“消费者密钥(API密钥)”和“消费者秘密(API秘密)”相同,使用Twython时会用到这些值。

设置日期/时间

第五页中的“设置系统日期/时间”是设置日期和时间的有关信息,所以我们在Raspberry Pi的设置中对日期和时间进行调整。

在Twitter上发帖!

进行到第六页中“从Python发送一条推文”这一步,我们终于有了写程序的机会!从菜单中选择“Programming(编程)”—“Python 3(IDEL)”并打开编辑器。

Raspberry Pi图 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”。

Raspberry Pi图 9

然后执行屏幕应显示 「Tweeted:Hello world!」

Raspberry Pi图 10

我们通过访问Twitter来对该结果进行确认。如果“Hello world!”被发布,就证明我们成功了!

Raspberry Pi图 11

如果您继续发布相同的推文,则会出现如上所示的错误消息。发生这种情况时,请尝试更改“推文”的内容或者词序以使其正常工作。

总结

在“Twython”的第1部分中,我们仅介绍到推文的字符词序这一部分。
之前当我做Twitter的有关项目时,我会直接访问Twitter的API,但是用了这个库之后难度会降低很多。
我认为,以Python为基础的“Twython”可以很容易地应用到任何使用元器件的电子产品中实现一些功能,如发布照片、搜索推文等等。我们将在下一篇文章中进一步讨论这些内容!
下一次,我们将执行文档7-9页的内容,并尝试发布多种类型的推文!

Raspberry Pi

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分