【AI】Claude CodeでThreads自動投稿Botを作る方法

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

Threadsへの投稿を自動化したい」とお考えではありませんか?

Threadsに手作業で投稿する運用は、続けるほど手間が積み重なります。

Threads APIとPythonを組み合わせれば、投稿処理をスクリプト化して自動化することが可能です。

いずみ

Claude Codeに実装を任せれば、API仕様を読み込む手間も省けます。

ということで、本記事ではClaude CodeでPythonのThreads自動投稿Botを作る方法を解説します。

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいませ。

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
執筆者/監修者
  • フリーランスエンジニア(保有資格個、企業と直接契約
  • ブログ・アフィリエイト歴7年(2018年〜)
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資(仮想通貨・FX)歴7年(2018年〜)
  • X(旧Twitter)フォロワー約1,900人
  • 運営者情報はこちら
いずみです
目次

【AI】Claude CodeでThreads自動投稿Botを作る方法

早速ですが、Claude CodeでPythonのThreads自動投稿Botを作る方法を解説します。

Threads APIの投稿の仕組み

Threads APIでの投稿処理は、メディアコンテナを作成してから公開する2ステップ構成になっています。

1つ目のステップでは、投稿する本文や画像URLを指定してメディアコンテナを作成します。

POST /{user_id}/threads というエンドポイントにリクエストを送ると、コンテナのIDが返却されます。

2つ目のステップでは、発行されたコンテナIDを指定して投稿を公開します。

POST /{user_id}/threads_publish というエンドポイントにコンテナIDを渡すと、投稿がThreads上へ反映されます。

いずみ

コンテナ作成と公開処理が分かれているのは、画像や動画の処理を待つための仕組みです。

動画付き投稿の場合、コンテナの処理に30秒以上かかることもあるので注意してください。

アクセストークンを準備する

Threads APIを呼び出すには、アクセストークンの準備が必要です。

Meta開発者ダッシュボードから発行される初期のアクセストークンは有効期限が短く、1時間程度しか使えません。

実運用では、有効期間60日の長期トークンに交換してから利用します。

STEP
アクセストークンを長期トークンに交換する

短命な初期トークンは、th_exchange_tokenというgrant_typeを指定して長期トークンに交換します。

curl -s -X GET "https://graph.threads.net/access_token" \
  --data-urlencode "grant_type=th_exchange_token" \
  --data-urlencode "client_secret=YOUR_APP_SECRET" \
  --data-urlencode "access_token=SHORT_LIVED_TOKEN"
STEP
長期トークンを定期的に更新する

長期トークンは、th_refresh_tokenというgrant_typeを指定することで有効期限を延長できます。

curl -s -X GET "https://graph.threads.net/refresh_access_token" \
  --data-urlencode "grant_type=th_refresh_token" \
  --data-urlencode "access_token=LONG_LIVED_TOKEN"
いずみ

長期トークンは60日間有効ですが、期限が切れる前に更新を続けないと失効してしまいます。

cronなどのスケジューラで更新処理を定期実行しておくと安心です。

Claude CodeにPythonスクリプトの実装を任せる

Threads Graph APIの仕様は、コンテナ作成と公開の2段階に加えてパラメータの指定方法を細かく把握する必要があります。

Claude Codeに「Threads Graph APIの仕様を読み込んで、投稿用のPythonスクリプトを実装して」のように指示すれば、API仕様の読み込みから実装までを短時間で進められます。

コンテナ作成用の関数と公開用の関数を分けて実装するように指示すると、見通しの良いコードに仕上がります。

STEP
投稿用スクリプトを実装する

requestsライブラリを使って、コンテナ作成関数と公開関数を実装します。

アカウント名や投稿内容はダミーの値に置き換えています。

import os
import time
import requests

THREADS_API_BASE = "https://graph.threads.net/v1.0"
USER_ID = "1234567890"  # ダミーのThreadsユーザーID
ACCESS_TOKEN = os.environ["THREADS_ACCESS_TOKEN"]


def create_text_container(text):
    url = f"{THREADS_API_BASE}/{USER_ID}/threads"
    params = {
        "media_type": "TEXT",
        "text": text,
        "access_token": ACCESS_TOKEN,
    }
    response = requests.post(url, params=params)
    response.raise_for_status()
    return response.json()["id"]


def publish_container(creation_id):
    url = f"{THREADS_API_BASE}/{USER_ID}/threads_publish"
    params = {
        "creation_id": creation_id,
        "access_token": ACCESS_TOKEN,
    }
    response = requests.post(url, params=params)
    response.raise_for_status()
    return response.json()["id"]


if __name__ == "__main__":
    creation_id = create_text_container("今日はダミーアカウントからのテスト投稿です。")
    time.sleep(5)
    post_id = publish_container(creation_id)
    print(f"投稿が完了しました。post_id: {post_id}")

運用時の注意点

Threads自動投稿Botを運用する際は、いくつか注意しておきたい仕様があります。

  • 作成したメディアコンテナは、24時間経過すると失効する仕様になっている
  • 画像や動画を投稿する場合、外部からアクセスできる公開URLでホストしておく必要がある(ファイルの直接アップロードには対応していない)
  • 短時間に大量の投稿を実行すると、レート制限に達してエラーになる場合がある
スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式

【厳選】フリーランスエンジニアにおすすめなエージェント3選

フリーランスエンジニアになるにはエージェントから案件をもらう必要があります。

僕が実際に利用しているおすすめエージェントを紹介しますね。

いずみ

エージェントは必ず複数登録してください。

担当者によっては「全然案件紹介してくれない…」みたいなこともあるので…

僕は実際に5つのエージェントを使い回していますよ。

フリーランスを始めるなら「

案件数マージン率単価
約88,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 業界最大級の案件数。
  • 業界トップクラスの高単価報酬、低マージン(平均年収862万円)。
  • 案件参画中のフォローの充実。

※詳細は「【業界最大手】レバテックフリーランスとは?メリットや利用手順を解説!」を参照。

は業界最大手のフリーランスエージェントです。

とにかく案件数が多いので、とりあえず登録しておけば間違いないエージェントです!

いずみ

僕もはじめてフリーランスの案件を貰ったのはです。

保有している案件数が多いので、業務経験がなくても何かしらの案件は紹介してもらえますよ(僕はJavaの経験3年でも案件を貰えました)。

手厚い保障を重視したいなら「

案件数マージン率単価
約10,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 手厚い保障で正社員並みの安心感。
  • 還元率60%超え&単価公開でクリアな契約。
  • 給与保障制度(審査あり)。

は手厚い保障が特徴のフリーランスエージェントです。

フリーランスを目指しているけど不安な方や保障を重視したい方におすすめです。

いずみ

僕も何度か案件を紹介してもらいました。

自分のスキルに合った案件を紹介してもらえましたし、電話のやり取りも非常に丁寧でした。

週2〜3日の案件探しなら「

案件数マージン率単価
約5,000件非公開
初心者福利厚生申し込み
経験者向け無料
Good Point
  • IT案件に特化したフリーランスエージェント。
  • 週2〜3日の案件が豊富。
  • リモート案件が多く、直エンドなので単価も高い。

※詳細は「【週2・3案件】ITプロパートナーズとは?メリットや利用手順を解説!」を参照。

はIT案件に特化したフリーランスエージェントです。

週2〜3日から参画できる案件が豊富なので、起業したい人にもおすすめです。

いずみ

週2〜3日の案件はある程度スキルがないと紹介してもらえない印象です。

とはいえ、週5の案件ももちろんありますし、僕が利用した時は迅速・丁寧に対応していただきました!

よくある質問

アクセストークンの有効期限が切れたらどうすればいいですか?

長期トークンをth_refresh_tokenで更新する処理を定期実行しておけば、有効期限内であれば失効を防げます。

更新されないまま60日以上経過した場合は、初期トークンの発行からやり直す必要があります。

画像付きでThreadsに投稿できますか?

media_typeをIMAGEに設定し、image_urlパラメータに公開されている画像URLを指定すれば投稿できます。

画像はクラウドストレージなど、外部からアクセスできる場所にあらかじめホストしておく必要があります。

投稿を定期的に自動実行するにはどうすればいいですか?

cronやタスクスケジューラでPythonスクリプトを定期実行する設定にしておけば、決まった時間に自動投稿できます。

投稿内容をあらかじめリストや外部ファイルで管理しておくと、運用の手間を減らせます。

まとめ

今回は、Claude CodeでPythonのThreads自動投稿Botを作る方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • Threads APIへの投稿は、メディアコンテナを作成してから公開する2ステップ構成になっている。
  • アクセストークンは長期トークンに交換し、th_refresh_tokenで定期的に更新する運用が必要。
  • Claude CodeにAPI仕様の実装を任せることで、Threads自動投稿Botを短時間で構築できる。
まとめ
いずみ

最後までお読みいただき、ありがとうございました!

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次