PHPackages                             taoka3/threads - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. taoka3/threads

ActiveLibrary[Framework](/categories/framework)

taoka3/threads
==============

Custom Laravel threads package.

v2.0.0(1mo ago)07MITPHPPHP ^8.2 || ^8.3

Since Jul 25Pushed 1mo agoCompare

[ Source](https://github.com/taoka3/Threads)[ Packagist](https://packagist.org/packages/taoka3/threads)[ RSS](/packages/taoka3-threads/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (3)Used By (0)

taoka3/Threads (Laravel用Threads投稿ライブラリ)
=======================================

[](#taoka3threads-laravel用threads投稿ライブラリ)

ライブラリ概要・目的
----------

[](#ライブラリ概要目的)

**taoka3/Threads** は LaravelプロジェクトからFacebook/MetaのThreads（*Threads API*）へ投稿するためのライブラリです。このライブラリを使うことで、OAuth認証・アクセストークン管理・投稿の作成・公開を簡単に実装できます。なお利用にはあらかじめFacebook for DevelopersでThreadsアプリの設定を完了しておく必要があります。また、Threads ライブラリ は現時点では公式提供のものではないため、仕様変更や利用制限により動作しなくなるリスクがある点にご注意ください。

インストール方法
--------

[](#インストール方法)

以下の手順でインストール・設定します。

1. **Composerでパッケージをインストール**

    ```
    composer require taoka3/threads
    ```

    これにより `taoka3/threads` がプロジェクトに追加されます。
2. **設定ファイルを公開**

    ```
    php artisan vendor:publish --tag=threads-config
    ```

    公開された `config/threads.php` で Threadsアプリの各種設定（アプリID、シークレット、リダイレクトURIなど）を入力します。
3. **マイグレーションファイルを公開**

    ```
    php artisan vendor:publish --tag=threads-migrations
    ```

    公開されたマイグレーションで `threads` テーブル（`user_id`, `long_access_token`, `limit_date` などのカラム）を作成します。
4. **データベースマイグレーション実行**

    ```
    php artisan migrate
    ```

    これにより `threads` テーブルがデータベースに作成されます。

使い方
---

[](#使い方)

インストール・設定後は、次のようにメソッドを呼び出してOAuth認証と投稿処理を行います。

1. **認証用URLを取得**

    ```
    use taoka3\Threads\Threads;

    $threads = new Threads();
    $authUrl = $threads->authorize();
    ```

    `authorize()` は認証画面へリダイレクトするためのURL文字列を返します。生成したURLへユーザーを遷移させ、ログイン・権限付与を行ってもらいます。
2. **コールバック処理（アクセストークン取得）**

    ```
    $threads = new Threads();
    $threads->redirectCallback()
            ->getAccessToken()
            ->changeLongAccessToken()
            ->save();
    ```

    リダイレクト先でクエリパラメータの `code` を取得し、`getAccessToken()` で短期アクセストークンを取得します。続けて `changeLongAccessToken()` によりロングアクセストークンに変換し、`save()` でデータベースに保存します。
3. **投稿作成・公開**

    ```
    $threads = new Threads();
    $threads->getlongAccessTokenAndUserId()    // DBから user_id と long_access_token を読み込む
            ->post('投稿するテキスト', $imageUrl, 'IMAGE')
            ->publishPost();
    ```

    `post()` では投稿テキスト（と必要に応じて画像URL）を指定し、`publishPost()` で実際にThreads上に投稿を公開します。投稿成功時はJSONレスポンス（投稿IDなど）が出力されます。
4. **アクセストークンの更新**

    ```
    if ((new Threads())->checkRefreshLongAccessToken()) {
        (new Threads())
            ->getlongAccessTokenAndUserId()
            ->refreshLongAccessToken()
            ->setUpdate();
    }
    ```

    `checkRefreshLongAccessToken()` は保存済みトークンの有効期限が近い場合に `true` を返します。必要に応じて `refreshLongAccessToken()` で新しいロングトークンを取得し、`setUpdate()` でDBを更新します。

各メソッドは fluent インターフェイスになっており、チェーンで呼び出し可能です。例えば `authorize()` は認証URL文字列を返し、`publishPost()` 実行時は投稿IDを含むレスポンスが得られます。

Laravelプロジェクトへの組み込み
-------------------

[](#laravelプロジェクトへの組み込み)

このパッケージはLaravelのサービスプロバイダが自動的に登録されるため、特別な設定は不要です。上記の `vendor:publish` により `config/threads.php` が生成されるので、そこで以下のキーに値を設定してください:

- `threads.appid` – ThreadsアプリのApp ID
- `threads.apiSecret` – アプリのAPIシークレット
- `threads.redirectUri` – 認証後に戻ってくるコールバックURI
- `threads.endPointUri` – APIエンドポイント（例: `https://graph.threads.net/`）
- `threads.version` – APIバージョン（例: `v1.0/` など）

これらの設定値は Facebook for Developers で作成したThreadsアプリの情報に基づいて入力します。先述のマイグレーション実行により `threads` テーブルが作成され、認証ユーザーIDとロングトークンを保存できるようになります。

対応バージョン・依存ライブラリ
---------------

[](#対応バージョン依存ライブラリ)

- **PHP:** ^8.2 または ^8.3
- **Laravel:** ^10.0, ^11.0, ^12.0
- **依存拡張:** cURL（`ext-curl`）、`allow_url_fopen` を有効化してください。
- **ライセンス:** MIT

パッケージの `composer.json` に記載された要件に基づきます。

注意事項
----

[](#注意事項)

- Threads ライブラリ は公式に公開されているものではないため、Meta/Threads側の仕様変更や制限により動作しなくなる可能性があります。利用時は最新のFacebook開発者ドキュメントを参照してください。
- 本ライブラリ内でも述べたように、ロングアクセストークンは約60日で期限切れになるため、定期的な更新処理が必要です（`checkRefreshLongAccessToken()` を参照）。
- パッケージはデータベースへの直接書き込みを行うため、エラー処理や権限周りの例外を適切に実装してください。

ライセンス
-----

[](#ライセンス)

本ライブラリは **MITライセンス** のもとで公開されています。ソースコードは自由に改変・再配布できます。

**参考:** パッケージの詳細情報は [Packagist: taoka3/threads](https://packagist.org/packages/taoka3/threads) および [README（日本語）](https://packagist.org/packages/taoka3/threads) を参照してください。

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance89

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~286 days

Total

2

Last Release

57d ago

Major Versions

v1.0.0 → v2.0.02026-05-07

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/71567084?v=4)[taoka-toshiaki](/maintainers/taoka3)[@taoka3](https://github.com/taoka3)

---

Top Contributors

[![taoka3](https://avatars.githubusercontent.com/u/71567084?v=4)](https://github.com/taoka3 "taoka3 (2 commits)")

### Embed Badge

![Health badge](/badges/taoka3-threads/health.svg)

```
[![Health](https://phpackages.com/badges/taoka3-threads/health.svg)](https://phpackages.com/packages/taoka3-threads)
```

###  Alternatives

[laravel/octane

Supercharge your Laravel application's performance.

4.0k26.6M223](/packages/laravel-octane)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[code16/sharp

Laravel Content Management Framework

79164.7k8](/packages/code16-sharp)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3891.8k](/packages/codewithdennis-larament)[r2luna/brain

Brain: A process-driven architecture alternative for your Laravel Application.

6338.7k1](/packages/r2luna-brain)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
