ブログを書いたらSNSに自動投稿されるようにした

公開日:22:30
更新日:08:44

ブログ記事を書いたあと、手動でX(Twitter)とBlueskyに投稿するのが面倒だった。

記事を公開すると自動的にSNSにシェアされるようにしたいと思い、GitHub Actionsで自動投稿の仕組みを作った。

初回設定したコミットはこちら

その後細かく改良している (src)

main ブランチに記事をpushすると、X と Bluesky に自動投稿される。 両方のプラットフォームへの投稿が成功したら、記事のfrontmatterに sns_shared: true を追記してコミットする。

ライブラリ選定が面倒だったので標準の Node.js で動くように Vibe Coding で作った。

セットアップ備忘録

X (Twitter) API キーの取得方法

  1. X Developer Console にアクセス
  2. X アカウントでログイン
  3. 「Apps」→「+ Create App」
  4. 各種シークレットを取得 (OAuth 1.0 Keys のものを使用)
  5. 「Credits」→「Purchase credits」で最低 $5 チャージしておく

Bluesky アプリパスワードの取得方法

  1. Bluesky にアクセス
  2. 自分のアカウントでログイン
  3. 設定を開く
  4. プライバシーとセキュリティを選択
  5. アプリパスワードを選択
  6. アプリパスワードを追加をクリック

GitHub Secrets への登録

  1. GitHub リポジトリページを開く
  2. 「Settings」タブをクリック
  3. 左メニューの「Secrets and variables」→「Actions」を選択
  4. 「New repository secret」をクリック
  5. 各 Secret を登録:
Secret名説明
X_API_KEYX API Key (Consumer Key)
X_API_SECRETX API Secret (Consumer Secret)
X_ACCESS_TOKENX Access Token
X_ACCESS_SECRETX Access Token Secret
BLUESKY_IDENTIFIERBlueskyハンドル (例: username.bsky.social)
BLUESKY_APP_PASSWORDBluesky App Password

学んだこと

まとめ

この記事を作って試して、実際に動いていることを確認した。

これで記事を書くことに集中でき、投稿し忘れもなくなった。