【AWS Lambda】AWSのLambdaで自動ツイートをしてみる【Python3】

API

以前の記事の続き、
とりあえず、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のアカウントを確認すると、
テストツイートがツイートされていることを確認できる。

タイトルとURLをコピーしました