hagechipのブログ -7ページ目

hagechipのブログ

ブログの説明を入力します。

こんばんは!hagechipです。

 

今回は前回の宣言通り、Pythonを使った、RaspberryPiからTwitterへの投稿の方法を紹介します。

 

私はRaspberryPiで取得したデータを日常の中で見られるように、

そしてRaspberryPiが壊れてもデータが消失しないように使用します。

 

ただ、RaspberryPiは消費電力が少なくサーバとしても優秀なので、

以前紹介した自動実行と組み合わせて、botとしても活用できると思います。

(まぁ今は月100円とかでサーバレンタルできますが)

ハウス栽培5:土壌センサを使って土壌の湿気計測/cronを使用して自動実行

 

さっそく見ていきましょう。

 

目次

・前準備

・モジュールインストール

・Twitterアカウント設定

・Pythonコード

 

前準備

事前にやっておいてほしいことです。

Twitterにアカウント登録しておいて下さい。

詳細は割愛します。

 

電話番号のヒモ付をしておかないと、後の設定が出来ないようなので

これもよろしくお願いします。

 

ボットを複数個持ってる人ってどうやってるんだろう?

その分電話番号が必要になるんじゃないのかな?

なにか方法があるんでしょうか?

 

ちなみに電話番号だけでも登録できるので、メールアドレスはなくてもOKです。

 

新しくアカウントを作りたいのに電話番号を他のアカウントに使ってる!
って場合は、そちらのヒモ付を解除してから行って下さい。
 

モジュールインストール

今回はTwitterの認証機能(OAuth)を使用するために、

Pythonの外部モジュールを使用します。

requests-oauthlibというモジュールです。

 

中身が知りたい方はこちら

https://github.com/requests/requests-oauthlib

 

これを、pipコマンドを使用してRaspberryPiにインストールします。

ただし、pipではうまくいかなかったので 今回はpip3を使用しました。
(インストールしたはずのモジュールが認識されませんでした・・・)
 
pipコマンドについてはこちら

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で行う必要はありません。

 

さっそく登録手順を見ていきましょう。

 

まずはサイトにアクセスします。

https://apps.twitter.com/

 

Twitterにログインしていない場合はこんな画面が表示されます。

画面中央、または右上からTwitterアカウントにログインしてください。

 

 

ログインできている場合はこんな画面。

右上のアイコンが、登録したいアカウントのアイコンになっていることを確認しましょう。

なってなかったらその右の▼ボタンからログアウト、正しいアカウントでログインしてください。

 

 

 

で、真ん中の「Crate New App」ボタンを押して次の画面に進みます。

適当に各種情報を入力して下さい。

ただし3つ目の「Web Site」は適当にやりすぎると怒られます(笑)

「自分のサイトを持ってなければ仮(placeholder)で入力し、あとで更新して下さい」
とあるので「http://placeholder.com」入れときました(*´ω`*)
 

 
さて、これだけで登録は完了です。
管理画面トップが表示されるので、次はキーを取得します。
「Keys and Access Tokens」タブをクリックします。
 
 
最初はアクセストークンは生成されていません。
「Create my access token」ボタンを押して下さい。
 
 
「... access token has been successfully generated. ...」のメッセージとともに、
下の方にアクセストークンが表示された画面がでてきます。
 
 
この画面の
・Consumer Key
・Consumer Select
・Access Token
・Access Token Select
をあとで使用するのでメモしておいて下さい。
文字列、数字の羅列は間違えやすいのでコピペすると良いと思います。
 

Pythonコード

コードは別のページに記載しました。

リンク先のコードをコピペし、キーの部分(7~10行目)に先程メモしておいた

内容を記載すれば使用できるようになっているはずです。

(""は必要で、<>は不要です。)

 

ハウス栽培コード2:Twitterに投稿する

 

 

注意点として、テストを何度も行う場合は、ツイート内容を変更して行うようにして下さい。

何度も連続して投稿するとアカウントの凍結をくらいます^^;

ツイート間隔を空けるだけでもOKです。が、たぶん1時間ずつくらいは空けたほうが良さそう(´Д`)

 

 

さて、ツイートは反映されたでしょうか?

11行のプログラムだけで投稿できます。

簡単ですね!

 

 

ちなみにPythonからもっといろんなことをやりたいって方は

TwitterのAPIがいろいろ公開されているので見てみてください。

https://developer.twitter.com/en/docs/api-reference-index

 

今回使ったのはpostメソッドで、投稿ですね。

他にもタイムラインの取得、フォロー登録/解除、各種メディアの投稿、

いいねやリツイートなど、普通にやることはだいたいできるようです^^

 

 

 

今日はここまでです。お疲れ様でした。
前回のブログで「近日中に」と言ったのに一週間以上たっていました。。。
 
そしてコードブログを作って気が付きましたが、
温度・湿度計測のブログ書いてないですね^^;
そのうち書きます。そのうち。。。
 
それではまた次回!
明日はいちごを植えに行ってきます(@^^)/~~~
最近かなり寒くなってきたので体調にはお気をつけ下さい。