laravel-mastodon-api maintained by revolution
Last update
2026/06/12 01:47
License
Require
- php ^8.3
- ext-json *
- illuminate/http ^12.0||^13.0
- revolution/laravel-notification-mastodon ^3.5
- revolution/socialite-mastodon ^1.5
Last update
2026/06/12 01:46
License
Require
- ext-json *
- revolution/laravel-notification-mastodon ^3.5
- revolution/socialite-mastodon ^1.5
- php ^8.3
- illuminate/http ^12.0||^13.0
Last update
2026/02/22 00:57
License
Require
- php ^8.3
- ext-json *
- illuminate/http ^12.0||^13.0
- revolution/laravel-notification-mastodon ^3.5
- revolution/socialite-mastodon ^1.5
Last update
2025/06/07 04:44
License
Require
- php ^8.2
- ext-json *
- illuminate/http ^11.0||^12.0
- revolution/laravel-notification-mastodon ^3.5
- revolution/socialite-mastodon ^1.5
Last update
2024/04/04 09:32
License
Require
- php ^8.1
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^10.0||^11.0
Last update
2024/04/04 09:29
License
Require
- php ^8.1
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^10.0||^11.0
Last update
2024/02/20 06:25
License
Require
- php ^8.1
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^10.0||^11.0
Last update
2023/06/06 06:27
License
Require
- php ^8.0
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^9.0||^10.0
Last update
2023/06/06 03:23
License
Require
- php ^8.0
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^9.0||^10.0
Last update
2023/01/28 12:47
License
Require
- php ^8.0
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^9.0||^10.0
Last update
2023/01/28 12:07
License
Require
- php ^8.0
- ext-json *
- guzzlehttp/guzzle ^7.5
- illuminate/support ^9.0||^10.0
Last update
2021/01/01 10:05
License
Require
- php ^7.3||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support *
Last update
2021/01/01 10:05
License
Require
- php ^7.3||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support *
Last update
2020/10/21 11:59
License
Require
- php ^7.2||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support *
Last update
2020/08/28 09:13
License
Require
- php ^7.2||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support *
Last update
2020/04/27 12:14
License
Require
- php ^7.2||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support ^6.0||^7.0
Last update
2020/03/04 14:32
License
Require
- php ^7.2||^8.0
- ext-json *
- guzzlehttp/guzzle ^6.3||^7.0
- illuminate/support *
Last update
2020/01/13 03:46
License
Require
- php >=7.1.3
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support *
Last update
2019/08/21 05:37
License
Require
- php >=7.1.3
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support *
Last update
2019/07/25 06:59
License
Require
- php >=7.1.3
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.8 || ^6.0
Last update
2019/02/27 10:45
License
Require
- php >=7.0.0
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2019/02/27 10:45
License
Require
- php >=7.1.3
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.8
Last update
2019/02/02 05:42
License
Require
- php >=7.0.0
- ext-json *
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2018/05/17 08:29
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2018/05/17 08:19
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2017/11/11 10:00
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2017/11/09 05:24
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2017/11/09 05:20
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2017/10/12 19:05
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support ^5.5
Last update
2017/09/14 12:44
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/08/04 06:46
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/05/30 05:20
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/05/14 15:41
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/05/14 05:44
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/05/14 04:03
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Last update
2017/05/10 09:48
License
Require
- php >=7.0.0
- guzzlehttp/guzzle ^6.2
- illuminate/support 5.*
Mastodon API for Laravel
Requirements
- PHP >= 8.3
- Laravel >= 12.0
Installation
Composer
composer require revolution/laravel-mastodon-api
Socialite and Notification packages will also be installed.
Usage
Registering an application
By Web UI
- Go to your Mastodon's user preferences page.
- Go to development page.
By API
use Revolution\Mastodon\Facades\Mastodon;
class MastodonController
{
public function app()
{
$client_name = 'my-app';
$redirect_uris = 'https://my-instance/callback';
$scopes = 'read write follow';
$app_info = Mastodon::domain('https://example.com')
->createApp($client_name, $redirect_uris, $scopes);
dd($app_info);
//[
// 'id' => '',
// 'client_id' => '',
// 'client_secret' => '',
//]
}
}
OAuth authentication
Use https://github.com/invokable/socialite-mastodon
Save account info.(id, token, username, acct...and more.)
Get statuses
use Revolution\Mastodon\Facades\Mastodon;
$statuses = Mastodon::domain('https://example.com')
->token('token')
->statuses($account_id);
dd($statuses);
Get one status
use Revolution\Mastodon\Facades\Mastodon;
$status = Mastodon::domain('https://example.com')
->token('token')
->status($status_id);
dd($status);
Post status
use Revolution\Mastodon\Facades\Mastodon;
Mastodon::domain('https://example.com')->token('token');
$response = Mastodon::createStatus('test1');
$response = Mastodon::createStatus('test2', ['visibility' => 'unlisted']);
dd($response);
Any API by get or post method
use Revolution\Mastodon\Facades\Mastodon;
$response = Mastodon::domain('https://example.com')
->token('token')
->get('/timelines/public', ['local' => true]);
use Revolution\Mastodon\Facades\Mastodon;
$response = Mastodon::domain('https://example.com')
->token('token')
->post('/follows', ['uri' => '']);
Any API can call by call method
use Revolution\Mastodon\Facades\Mastodon;
$response = Mastodon::domain('https://example.com')
->token('token')
->call('DELETE', '/statuses/1');
Other methods
Check public methods in Contracts/Factory.php
Streaming API
Edit $token and $url in streaming_example.php
php ./streaming_example.php
Ctrl+C to quit.
LICENSE
MIT