仕事と家事で毎日バタバタ…
ずぼら主婦さゆです。
単身赴任中の夫、わたし、3歳娘の
3人家族
このブログでは
なるべくラクに家計をやりくりする方法
節約しつつプチ贅沢を楽しむコツ
夢のマイホーム実現に向けた情報
を発信していきます!
いいねやコメントもらえると
嬉しいです
ご訪問ありがとうございます。
こんにちは!さゆです。
いつも家事と育児でバタバタの毎日ですが
今日はとっても嬉しいことがありました😊
なんと!PC音痴のわたしでも
X(旧Twitter)の投稿システムを作ることができたんです🎉
「え、そんなの無理でしょ💦」
って思ったあなた
わたしも最初はそう思ってました😅
でも実際にやってみたら…
本当にできちゃいました✨
今回はその感動の瞬間をお伝えします😆
これまでのドタバタ劇をおさらい📚
エラーとの戦いが続いていました💦
専門用語もよくわからないし
「もうダメかも😭」
って何度も思いました😅
でも娘のお昼寝中にChatGPTに聞きながら
コツコツ続けてついに原因が判明したんです✨
.envファイル(設定ファイルのこと)に
同じ項目が2回書いてあって
それが悪さをしてたんです💦
「こんな単純なミス?!」
って拍子抜けしちゃいました😅
でもこれ
きっと初心者あるあるですよね✨
夜中のこっそり作業で大発見🎯
娘が寝静まった夜中に
ChatGPTに教わりながらコツコツ修正作業😊
夫からLineもそっちのけで
「また何かやってるの?」
って言われちゃいましたが💦
新しい認証方式
(OAuth 1.0aっていう難しい名前のやつ😅)
に変更する必要があることが判明しました✨
「また新しいこと覚えるの〜💦」
って思ったけど
ChatGPTが優しく教えてくれるので安心です😊
この時点で時刻は夜中の1時過ぎ💦
「明日の朝、起きられるかな😅」
なんて思いながらも
成功への期待でわくわくが止まりませんでした✨
ライブラリのインストール
まずはChatGPTに教わった通り
新しいライブラリをインストールします😊
コマンドプロンプトで以下を実行しました✨
pip install requests requests-oauthlib
修正したPythonコード
import os
from dotenv import load_dotenv
import requests
from requests_oauthlib import OAuth1
load_dotenv()
# 環境変数から認証情報を読み込む
API_KEY = os.getenv("API_KEY")
API_SECRET = os.getenv("API_SECRET")
ACCESS_TOKEN = os.getenv("ACCESS_TOKEN")
ACCESS_TOKEN_SECRET = os.getenv("ACCESS_TOKEN_SECRET")
# OAuth 1.0a の認証セットアップ
auth = OAuth1(API_KEY, API_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
# 日本語含むツイート内容を.txtから読み込む
with open("tweet.txt", "r", encoding="utf-8") as f:
tweet_text = f.read()
data = {
"text": tweet_text
}
# ツイートを送信
response = requests.post("https://api.twitter.com/2/tweets", json=data, auth=auth)
if response.status_code == 201:
print("✅ 投稿成功!")
print(response.json())
else:
print("❌ 投稿失敗…")
print(response.status_code)
print(response.text)
前回との大きな違いは
headersの代わりにauth=OAuth1(...)を
使っているところです😅
これが重要なポイントでした✨
投稿文の準備📝
tweet.txtファイルには
以前から考えていた初回投稿の内容を保存しました😊
この投稿が成功すれば
わたしのX自動投稿システムの
記念すべき第1回投稿になります✨
いよいよ実行の瞬間💓
朝の家事を済ませて
娘がEテレに夢中になってる隙に再挑戦😊
コーヒー片手にドキドキしながら
ボタンをポチッと押しました✨
PS C:\Users\sayu\Documents\XAutoPost> &
C:/Users/sayu/AppData/Local/Programs/Python/Python313/python.exe
c:/Users/sayu/Documents/XAutoPost/post_tweet.py
そして結果は…😆
ついに成功の瞬間🎊
✅ 投稿成功!
{'data': {'id': '19440785733...', 'text': '「誰かの役に立つ情報を発信せよ」\n「想いを乱射するな」\n\nそう言われたことがある。\n\nけれど\n自分の中に生まれた違和感を\n看過せずに問いかけることにも\n意味があるのではないだろうか。\n\nここは、それを静かに問うところ。\n\n#問いの実験室', 'edit_history_tweet_ids': ['19440785733...']}}
って画面に出たんです🎉
さゆ:
「きたー!!!」
って声に出しちゃって
娘に「ママどうしたの?」って言われました😅
これまでの苦労が報われた瞬間でした💦
ChatGPT:
「やったーーーーーー!!!🎉🎉🎉
日本語投稿、大・成・功👏✨✨✨
ほんとうにおめでとうございます!!!」
いま、できてること🌟
✅ PythonスクリプトでX(旧Twitter)に投稿できる
🔜 次に進むステップ(いよいよここ!)
→ gspread や pandas を使って、スプレッドシートの行を1つずつ読み込む
→ 1行目の投稿内容を tweet_text に渡して投稿
🟩 ステップ②:投稿済みの行に「投稿済み✅」など記録
→ 投稿した後、スプレッドシートのその行に「Done」や日時を自動で書き込むようにする
🟩 ステップ③:1日3回、予約投稿を自動で回す
→ 最終的には schedule モジュール or Windowsのタスクスケジューラで、1日3回投稿するように
→ try-except で丁寧に
→ Streamlit or FastAPI など
この先は『運用』に突入していくので、
一緒にテンプレートや仕組みを整えていきましょう😊
次に『スプレッドシートから自動で投稿文を読み込む』ステップに進んでもいい?💦
それとも、いったん整理したいことあるかな?😅」
ここまで順調にクリアしてきたのが本当に素晴らしいです!
次はいよいよ
『Googleスプレッドシートから投稿文を読み込んで自動投稿』
のステップですね。」
今回のまとめ✨
✅ OAuth 1.0a認証の導入😊
✅ requests-oauthlibライブラリの使用✨
✅ .envファイルの重複エラー解決が効いていた💦
✅ tweet.txtファイルからの読み込み成功😅
できるようになったこと:
✅ 日本語&改行ありの投稿が可能✨
✅ .txtファイルから投稿内容を読み込める😊
✅ 自動投稿システムの基盤が完成💦
次回予告🚀
🛍️長時間作業のお供
今回も長時間パソコンと向き合っていて
目の疲れがひどかったです💦
特にエラーメッセージを何度も見ていると
集中力が途切れがちに😅
そんな時は、温かいお茶を飲んで一息つくのが一番ですね☕
\集中力UPや気分転換に!/
\夜間の作業が多い方に!/
\長時間のPC作業で目が疲れる方に!/
長時間のパソコン作業には必須アイテム👓
わたしのように画面を見続ける作業をする時に
目の疲れを軽減してくれます✨
デザインもおしゃれで
普段使いもできるのが嬉しいポイント🎶
\ChatGPT活用本/
わたしがChatGPTとの付き合い方を
学んだ入門書です📚
初心者でも分かりやすく
実践的な使い方が満載!
💡 こんなあなたにおすすめ
・ChatGPTを初めて使う方
・効果的な質問の仕方を知りたい方
・日常生活で活用したい方
\Logicool ワイヤレスマウス M575S トラックボール/
長時間のPC作業で手首が疲れるあなたに!
ChatGPTとのやり取りで
作業時間が増えたわたしには必需品です✨
💡 こんなあなたにおすすめ
・長時間のPC作業をする方
・手首の疲れを軽減したい方
・作業効率を上げたい方
山善 昇降式デスク
\スタンディングデスク 幅120cm/
立ったり座ったり、集中力を保ちながら学習!
新しいことを覚える時の気分転換に最適🏠
💡 こんなあなたにおすすめ
・集中力を持続させたい方
・健康的に作業したい方
・学習環境を整えたい方
楽天ROOMでは
「買ってよかったものだけを載せています。
最後まで読んでくださって
ありがとうございます✨
フォローや「いいね」もらえると
すっごく励みになります♪
それではまた