🐍

Twitter Bot を制作してみる②

2021/09/09に公開約2,100字

以下の公式ドキュメントを参考にして、制作を行っていく。

https://docs.tweepy.org/en/stable/
日本語に翻訳されたページもあったので、参考にどうぞ。
https://kurozumi.github.io/tweepy/

OAuth認証を行う

以下のドキュメントを参考にOAuth認証を行った。
[Python] OAuth認証でTwitter連携/ログインを実装する
Python / TweepyでOAuth認証してツイートする

また、公式ドキュメントの
- Authentication Tutorial (認証に関するチュートリアル)
  - OAuth 1a Authentication (OAuth認証)
より、以下のコードを記述しアプリの認証を行う。

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)

以下の4つのキーを自身の作成したTwitter Developersから取得してくる。
また、取得したキーを変数へ格納する。

consumer_key = 'API Key'
consumer_secret = 'API secret'
key = 'Access Token'
secret = 'Access secret'

以上で、アクセストークンの設定は終了。

実際に、ツイートしてみる

また、公式ドキュメントに戻り、記載されている以下のコードを記述してみる。

api = tweepy.API(auth)
api.update_status('tweepy + oauth!')

実際にこれを実行してみると、以下のようにツイートが自動で行われた。

現段階での全体コード

現時点での、全体コードを以下に示す。
キー等は各自異なるため、自身のキーに置き換えてお使いください。

import tweepy

consumer_key = 'vm31oIe5tfjnDDsR8Xtw71wxA'
consumer_secret = 'SJGpZdGh5qZF7qlB8qEAGzq7YKCsGGuBLOWtqJT7IVr4j6Pp1t'
key = '1435544643890933762-Wq3lSQ6pzxM8BlftJhpWkXQ6zULx5b'
secret = '9Av2fdcL8bRTKswyQMLftFNHYgorur5jAhSMHHVPLytV5'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)


api = tweepy.API(auth)
api.update_status('tweepy + oauth!')

ここまでで考えられるエラー対処

モジュールのインポートがうまくいっていない

以下のようなエラーコードが出た場合の対処法。

Unable to import tweepy module

pip uninstall tweepyでモジュールを削除し、
再度 pip install tweepy をすれば多分治る。
治らない場合、PATHの確認を行う。
Pythonでimportの対象ディレクトリのパスを確認・追加(sys.pathなど)

わからない場合は、Google Colaboratoryを使うのをお勧めする。

https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

アプリケーション権限によるエラー

以下のようなエラーコードが出た場合の対処法。

Read-only application cannot POST.

このようなエラーが出た場合、TwitterDevelopersの方でアプリケーション権限を確認する必要がある。権限が「Read Only」となっている為、「Read and Write」もしくは「Read, Write and Access direct messages」に変更する必要がある。

また、変更した際、アクセスキーも変更されるため、再度キーを発行し直す必要がある。

GitHubで編集を提案

Discussion

ログインするとコメントできます