こんばんは!hagechipです。
今回は前回の宣言通り、Pythonを使った、RaspberryPiからTwitterへの投稿の方法を紹介します。
私はRaspberryPiで取得したデータを日常の中で見られるように、
そしてRaspberryPiが壊れてもデータが消失しないように使用します。
ただ、RaspberryPiは消費電力が少なくサーバとしても優秀なので、
以前紹介した自動実行と組み合わせて、botとしても活用できると思います。
(まぁ今は月100円とかでサーバレンタルできますが)
ハウス栽培5:土壌センサを使って土壌の湿気計測/cronを使用して自動実行
さっそく見ていきましょう。
目次
前準備
事前にやっておいてほしいことです。
Twitterにアカウント登録しておいて下さい。
詳細は割愛します。
電話番号のヒモ付をしておかないと、後の設定が出来ないようなので
これもよろしくお願いします。
ボットを複数個持ってる人ってどうやってるんだろう?
その分電話番号が必要になるんじゃないのかな?
なにか方法があるんでしょうか?
モジュールインストール
今回はTwitterの認証機能(OAuth)を使用するために、
Pythonの外部モジュールを使用します。
requests-oauthlibというモジュールです。
中身が知りたい方はこちら
https://github.com/requests/requests-oauthlib
これを、pipコマンドを使用してRaspberryPiにインストールします。
https://ja.wikipedia.org/wiki/Pip
さっそく手順。
RaspberryPiのターミナルを開いてから、下記を実行します。
sudo pip3 install requests_oauthlib
いつも通り緑の文字が表れたら完了です。
下から2行目に下記文字が表示されたことを確認してください。
"Successfully installed requests-oauthlib"
下記を入力することで、インストールされているモジュールの一覧をみることができます。
入ったかどうかわからない場合はこれで確認してみましょう。
sudo pip3 freeze
これでモジュールの使用準備は終わりです。
Twitterアカウント設定
Twitterをプログラムから操作するには、TwitterManagementというものに
登録をしなければいけません。
これに登録をすることで、認証機能(OAuth)を使用する際に必要なキー情報が入手できます。
この章の作業はRaspberryPiで行う必要はありません。
さっそく登録手順を見ていきましょう。
まずはサイトにアクセスします。
Twitterにログインしていない場合はこんな画面が表示されます。
画面中央、または右上からTwitterアカウントにログインしてください。
ログインできている場合はこんな画面。
右上のアイコンが、登録したいアカウントのアイコンになっていることを確認しましょう。
なってなかったらその右の▼ボタンからログアウト、正しいアカウントでログインしてください。
で、真ん中の「Crate New App」ボタンを押して次の画面に進みます。
適当に各種情報を入力して下さい。
ただし3つ目の「Web Site」は適当にやりすぎると怒られます(笑)
Pythonコード
コードは別のページに記載しました。
リンク先のコードをコピペし、キーの部分(7~10行目)に先程メモしておいた
内容を記載すれば使用できるようになっているはずです。
(""は必要で、<>は不要です。)
注意点として、テストを何度も行う場合は、ツイート内容を変更して行うようにして下さい。
何度も連続して投稿するとアカウントの凍結をくらいます^^;
ツイート間隔を空けるだけでもOKです。が、たぶん1時間ずつくらいは空けたほうが良さそう(´Д`)
さて、ツイートは反映されたでしょうか?
11行のプログラムだけで投稿できます。
簡単ですね!
ちなみにPythonからもっといろんなことをやりたいって方は
TwitterのAPIがいろいろ公開されているので見てみてください。
https://developer.twitter.com/en/docs/api-reference-index
今回使ったのはpostメソッドで、投稿ですね。
他にもタイムラインの取得、フォロー登録/解除、各種メディアの投稿、
いいねやリツイートなど、普通にやることはだいたいできるようです^^








