ChatGPTにtwitterへの自動投稿ツール作成してもらいましたが 403 Forbiddenが返ってきてしまい、投稿に失敗してしまいます。 APIプランはフリーで規約上画像投稿は月500枚まで可能と書いてあるように見えたので フリープランでも投稿できると思ったのですが、プランを確認してとChatGPTから返答があります。 こちら、ローカルの対象フォルダからランダムに4枚投稿するといった仕様ですが 現在のXフリープランでは実現できないものなのでしょうか? 下記にコードも記載させていただきます。 なにが原因で、実行がうまくいかないのかご教示いただけますと幸いです。 import os import random import tweepy # --- 事前にインストール --- # pip install tweepy # ========== # APIキー等はソースコードに直書きしないのが原則 # ========== consumer_key = "CONSUMER_KEY" consumer_secret = "CONSUMER_SECRET" access_token = "ACCESS_TOKEN" access_token_secret = "ACCESS_TOKEN_SECRET" auth = tweepy.OAuth1UserHandler( consumer_key, consumer_secret, access_token, access_token_secret ) api = tweepy.API(auth) # 投稿したい画像があるフォルダのパス folder_path = r"your_folder_path" # 対象フォルダ内のファイル一覧を取得(画像ファイルに限定) files = [f for f in os.listdir(folder_path) if f.lower().endswith((".jpg", ".jpeg", ".png"))] # ファイルの数が4未満の場合、エラー回避のため分岐 if len(files) < 4: raise ValueError("フォルダ内に画像が4枚未満です。") # ランダムに4ファイルを選ぶ random_files = random.sample(files, 4) # 選んだファイルをアップロードしてmedia_idを取得 media_ids = [] for filename in random_files: file_path = os.path.join(folder_path, filename) # メディアをアップロード res = api.media_upload(filename=file_path) media_ids.append(res.media_id) # ツイート本文 status_text = "ランダム4枚の画像を添付して投稿します。" # ツイートを投稿(複数画像を添付する場合はmedia_ids引数を使う) try: api.update_status(status=status_text, media_ids=media_ids) print("投稿完了:", random_files) except Exception as e: print("投稿に失敗しました:", e)
プログラミング