以前の記事の続き、
とりあえず、XのAPI登録が終わったので、AWSのLambdaというサーバレス機能を利用して、XのAPIを使って自動投稿してみる。
■必要なもの
AWS環境
まずは環境構築、Python3をインストールする。
mbp:first-app$ brew install python3
// バージョン確認
mbp:first-app$ python3 --version
python3 --version
Python 3.11.6
次に、フォルダを作成する。
ここではtweetフォルダを作成し、tweetフォルダに移動。
pip3を使って、pythonのtwittterライブラリであるtweepyをインストール
インストール先はtweetフォルダ直下に、
tweepyをフォルダを作成し、以下コマンドを実行。
mbp:tweet $ pip3 install tweepy -t tweepy
続いてツイートを行うpythonのコードは以下の通り、
import sys
# tweepyフォルダのパス
sys.path.append('tweepy')
# coding: UTF-8
import json
import tweepy
def lambda_handler(event, context):
# API情報
config = json.load(open('key.json', 'r'))
# Twitterオブジェクト設定
client = tweepy.Client(config['key']['bearerToken'], config['key']['consumerKey'],
config['key']['consumerSecret'], config['key']['accessToken'], config['key']['accessTokenSecret'])
# ツイート
client.create_tweet(text="テストツイート")
そしてAPI情報をjsonに保存する
{
"key": {
"consumerKey": "生成したConsumerKey",
"consumerSecret": "生成したConsumerSecret",
"bearerToken": "生成したBearerToken",
"accessToken": "生成したAccessToken",
"accessTokenSecret": "生成したAccessTokenSecret"
}
}
作成したら、tweetフォルダに配置し、tweetフォルダをzip化する。
ここまでできたら次に、
Lambdaの関数を作成する。
作成したら、アップロード元から先ほど作成したzipファイルをアップロードする。
アップロードが完了したら、zipファイルの中身が展開されるので
テスト実行を行う。
Xのアカウントを確認すると、
テストツイートがツイートされていることを確認できる。