Twitter Api V2でツイートするコードを記載します。
よけいなことはしないで、シンプルなコードを目指します。

1.サンプルコード

import json
from requests_oauthlib import OAuth1Session

API_KEY = '<ここにAPI_KEY>'
API_KEY_SECRET = '<ここにAPI_KEY_SECRET>'
ACCESS_TOKEN = '<ここにACCESS_TOKEN>'
ACCESS_TOKEN_SECRET = '<ここにACCESS_TOKEN_SECRET>'

twitter = OAuth1Session(API_KEY, API_KEY_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
url = "https://api.twitter.com/2/tweets"
payload = {"text": "<ここに文字を入力>"}

req = twitter.post(
    url=url,
    json=text,
)

if req.status_code == 200 or req.status_code == 201:
    print("Succeed!")
else: #エラー
    print("ERROR : %d"% req.status_code) 

2.エラーや困ったこと

  1. Twitter Apiで調べると、V1.1の情報がたくさんでてくる。v1.1の情報だと気づかず、悪戦苦闘した後に、v2で使えないと分かったときの悲しみたるや。
  2. 使えるendpoint(url)が、まだ少ないことに気づかず、画像アップロードできんのかいなと調べてた。。。
  3. User authentication settingsで、アクセス権等の設定が必要で、更に設定後に、keyとtoekn(全部で5つかな)を更新しないといけないなんて知らなかったよ。。。
  4. 初めて、投稿できた!!!!!!!!!!自分、天才じゃん?て思ったら、アカウントが凍結された。apiを使ってると凍結されることがあるようだ。僕は、大変悲しかった。
  5. よくわからんけど、ステータスコードが201だった。
  6. Twitter Api v2の説明にpostmanでテストしてみなよって書かれてたので、やってみたが、自分のワークスペース作らんとsendできない。