2020/08/31
[Python]TweepyでTwitterに投稿できるようにしました
概要
本サイトの記事投稿と同時にTwitterの私のtimelineにtweetできるようにしてみました。
本サイトのAPIはPythonを使っており、Pythonのライブラリである Tweepy を使って投稿できるようにしました。
実装内容
事前準備
- twitterのdeveloper登録を済ませてない場合は、済ませておきます。
- Twitter Developersにログインしてアプリを作成します
- App permissionsには
Read and Write
の権限を追加しておきます
- Authentication Tokensから、Access Token & Secretを作成します
以上の設定で、以下が取得できるのでメモしておきます。
- API Key
- API Secret
- Access Token
- Access Token Secret
tweepy install
% poetry add tweepy
実装
デフォルメすると以下のような実装になりました。
from typing import Iterable
import tweepy
TWITTER_API_KEY="API Key"
TWITTER_API_SECRET="API Secret"
TWITTER_ACCESS_TOKEN="Access Token"
TWITTER_ACCESS_TOKEN_SECRET="Access Token Secret"
auth = tweepy.OAuthHandler(TWITTER_API_KEY, TWITTER_API_SECRET)
auth.set_access_token(TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
message: str = 'tweet from python script'
tags: Iterable[str] = ['python', 'twitter']
url: str = 'https://kurozumi.github.io/tweepy/index.html'
# twitter hashtagの整形
tags = map(lambda x: x if x.startswith('#') else f"#{x}", tags)
tag_str = " ".join(tags) if tags else ""
message = f"{message}\n{tag_str}\n{url}"
api.update_status(message)
以上になります。
関連する記事
[Python]ハイフンなし電話番号からハイフン付きに復元
Pythonでハイフンなしの日本の電話番号をハイフン付きのものに変換する
[Python]BeautifulSoup4でhtmlの解析
BeautifulSoup4というPythonのライブラリを使って、特定のURLのコンテンツを取得し、タイトルや説明文を取得できるようにしました。
[Python]銀行コードと支店コードの取扱
Pythonで銀行コード、支店コードデータを取り扱う便利なライブラリzengin-codeを導入しました。
Sendgridを使ってメールの受信を行う
Inbound Email Parse Webhookという機能を利用してメールを受信したらWebhookを呼び出すようにしました