2021年12月1日水曜日

初めての、Raspberry PiからのTwitter

 定期的にロボットの状態を把握したいので、遅ればせながらTwitterで確認できるようにした。その時の忘備録

既にある、または新しいアカウントで行う。今回は公開したく無いので新しいアカウントを作成した。

ネットの情報の通りに、https://apps.twitter.com/ にアクセスして開発者登録する。

その後、Developer Portalで、追加情報を入力した。実は、この部分がネットの情報と違った。

でも作業は同じなので、後から同じことをできるようにメモしておく。

1. twitter の設定

「Project1」を押下する



「Apply for Elevated」を押下

この後の画面で、いろいろ入力する
以下は、項目の説明

In your words

In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve.


ここには英語で何をするのかを記述する。最低でも200文字が必要


僕は、複数種類のロボットの開発をしている。それらのロボットの状態を統合的に管理する必要がある。ロボットを統合管理するサーバーが、自動的に15分毎にロボット達の状態を集約して、ツイートする。そのツイートにより効率的に全体が把握できる

I am developing multiple types of robots. It is necessary to manage the state of those robots in an integrated manner. The server that manages the robots in an integrated manner automatically aggregates the states of the robots every 15 minutes and tweets them. You can grasp the whole efficiently by the tweet.


Are you planning to analyze Twitter data?

No



Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?

Yes

Please describe your planned use of these features.

The application uses the tweet function. The robot management system aggregates and tweets every 15 minutes.

Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?

これはNo

Will your product, service, or analysis make Twitter content or derived information available to a government entity?

これも、No

NEXTボタンを押下する。すると下の画面


Nextボタンを押下する



チェックして、 Submitボタン


次に、Keyデータを取得する。

API Key and Secret Regenerateボタンを押下



Access Token and Secret Regenerateボタンを押下



これで準備OK

2. Raspberry Pi の設定

sudo pip3 install twython

確認は、、、

python3 -c "import twython"

vi auth.py

consumer_key        = 'API Key'

consumer_secret     = 'API Key Secret'

access_token        = 'Access Token'

access_token_secret = 'Access Token Secret'


vi tst.py

from twython import Twython

from auth import (

    consumer_key,

    consumer_secret,

    access_token,

    access_token_secret

)

twitter = Twython (

    consumer_key,

    consumer_secret,

    access_token,

    access_token_secret

)

message = "100-100-101"

twitter.update_status(status=message)

print("Tweeted: " + message)

これで実行したらOKです。

ちなみに同じメッセージを繰り返すとエラーになる。

twython.exceptions.TwythonError: Twitter API returned a 403 (Forbidden), Status is a duplicate.


Peace!! 




0 件のコメント:

コメントを投稿