Twythonでラズベリーパイからツイートしよう(前編)

はじめに

今回は、Twitter APIを利用するためのPythonモジュール「Twython」を使用してラズベリーパイからツイートしてみたいと思います。

本記事では、ラズベリーパイ財団公式サイトの下記ドキュメントに沿って進めていきます。
projects.raspberrypi.org

なお、すべてを一つの記事に書くと長くなるため、前編と後編に分けたいと思います。
前編となる本記事では、Twitterディベロッパーアカウントの申請やTwitterアプリケーションの作成などを行います。
後編では、実際にPythonでコードを書いてTwythonでラズベリーパイからツイートを投稿します。

1. PythonとTwythonのインストール

Twythonでツイートするためには、ラズベリーパイに「Python」と「Twython」がインストールされている必要があります。
OSとしてRaspbianをインストールした場合、ありがたいことにこの二つも一緒にインストールされます。実際に確認してみましょう。

Pythonについては、メニュー画面から「Python 3 (IDLE)」を確認できればOKです。
f:id:mugeek:20190609161748p:plain
 
もし見つからない場合には、下記のサイトからダウンロードすることができます。
Download Python | Python.org

Twythonについては、LXTerminalで下記コマンドを実行してみましょう。インストール済みのパッケージが表示されます。

sudo pip3 list

私のラズベリーパイにはバージョン3.4.0のTwythonがインストールされていました。 
f:id:mugeek:20190609163759p:plain
 
もしTwythonがインストールされていない場合は、下記コマンドでインストールすることができます。

sudo pip3 install twython

 

2. Twitter ディベロッパーアカウントの申請

ラズベリーパイからツイートするための大前提として、Twitterのアカウントが必要になります。まだアカウントを持っていない方はTwitterの公式サイトからアカウントを作成しましょう。
https://twitter.com/
 
自分のTwitterアカウントを用意できたら、次はTwitterディベロッパーアカウントの申請を行います。ディベロッパーアカウントはTwitter APIを使用するために必要となります。

申請は下記サイトから行うことができます。
developer.twitter.com
 
サイトにアクセスしたら、右上にある「Apply」をクリックします。
f:id:mugeek:20190609170658p:plain
  
続いて「Apply for a developer account」をクリックします。
f:id:mugeek:20190609170409p:plain
 
Twitterディベロッパーツールを利用する理由を聞かれるので、適当なものにチェックを入れて「Next」をクリックします。
f:id:mugeek:20190609170747p:plain
 
住んでいる国やニックネームを選択、入力します。
f:id:mugeek:20190609170809p:plain
 
TwitterのデータやAPIをどのように利用する予定なのかを英語で記入します。必要最低文字数は200文字です。少し面倒ですが入力必須項目なのでがんばりましょう。
f:id:mugeek:20190609170914p:plain
 
利用規約を読んで「Submit Appication」をクリックします。
f:id:mugeek:20190609171300p:plain
 
これで申請は完了です。登録したメールアドレスに申請完了のメールが届くので確認しましょう。
f:id:mugeek:20190609171315p:plain
 

3. Twitterアプリケーションの作成

ディベロッパーアカウントの申請が完了したら、次はアプリケーションの登録です。
Twitter APIを利用するPythonプログラムが自分のTwitterアカウントにアクセスするためには、APIキーとアクセストークンというものが必要になります。これらを取得するには、Twitterアプリケーションを作成しなければなりません。

なお、APIとアクセストークンの詳細については、下記ブログの説明が分かりやすく参考になります。
qiita.com
 
事務的な申請手続きが続きますが、アプリケーションの作成をしていきましょう。

まず、下記リンクから作成フォームを開き、「Create an app」をクリックします。
https://developer.twitter.com/en/apps
 
またもや英語となりますが、入力必須項目(required)を埋めます。必須項目以外の箇所は空欄のままでも大丈夫です。
Website URL」についてですが、ラズベリーパイ財団のドキュメントによると、もし特に入力する対象がない人は彼らのサイトのURL(https://www.raspberrypi.org/)を入力してもいいそうです。私はこのブログのURLを入力してみました。
f:id:mugeek:20190609173248p:plain
 
「Create」ボタンをクリックすれば作成は完了です。

さっそくAPIキーとアクセストークンを確認しましょう。
「Keys and tokens」セクションをクリックすると、「Consumer API Keys」欄にAPI KeyとAPI secret keyの値が表示されています。
f:id:mugeek:20190609173701p:plain 
  
アクセストークンについては、「Access token & access token secret」欄の「Create」ボタンをクリックすると、値が表示されます。
f:id:mugeek:20190609173858p:plain
 

4. システム日時の設定

ラズベリーパイや自分のPCの日時が合っていない人は、正しい日時に設定しておきましょう。ラズベリーパイのドキュメントに設定方法が書いてありますが、ここでは割愛します。

以上で前編は終了です。
後編では実際にTwythonを使用してツイートをしてみましょう。