vimeo/vimeo-api
PHP client library for the Vimeo API. Authenticate with your client ID/secret, send requests with JSON parameters (use nested arrays for fields like privacy.view), and manage Vimeo resources from Composer-based apps. Includes docs and framework integrations.
VimeoServiceProvider and facade (Vimeo), simplifying integration via Laravel’s service container. This reduces boilerplate and enforces best practices (e.g., configuration via config/vimeo.php).CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN), which integrates seamlessly with Laravel’s .env system.vimeo.video.uploaded) for post-processing (e.g., database updates, notifications).tus-php) and potential edge cases (e.g., chunked uploads, retries). Testing with large files (>1GB) is recommended.Guzzle middleware or Laravel’s retry helper).ACCESS_TOKEN refreshes be handled (e.g., Laravel’s Cache or a dedicated TokenManager)?429 Too Many Requests, 403 Forbidden) be translated into Laravel exceptions?VimeoException?Mockery or Laravel’s Http testing helpers)?Log channel or a dedicated dashboard)?Vimeo class can be bound to Laravel’s container for dependency injection.Vimeo::upload(), Vimeo::fetchVideo(), etc., reducing verbosity.ShouldQueue jobs.VideoUploaded) can trigger post-processing (e.g., database syncs).Http client.ankitpokhrel/tus-php, which may need PHP’s fileinfo and curl extensions enabled.id, name, url) can be stored in Laravel’s database for offline access or analytics.composer require vimeo/laravel
php artisan vendor:publish --provider="Vimeo\Laravel\VimeoServiceProvider"
.env:
VIMEO_CLIENT_ID=your_id
VIMEO_CLIENT_SECRET=your_secret
VIMEO_ACCESS_TOKEN=your_token
use Vimeo\Laravel\Facades\Vimeo;
$video = Vimeo::upload()->fromPath('/path/to/video.mp4');
$videos = Vimeo::fetch('/me/videos');
Socialite or a custom TokenManager.upload()->fromPath() method with chunked transfers. Test with Laravel Queues for background processing.Route::post('/vimeo/webhook').Cache facade or Redis.guzzlehttp/guzzle: Used for HTTP requests; ensure compatibility with Laravel’s Guzzle version.tus-php: For TUS uploads; verify PHP extensions (curl, fileinfo) are enabled.Laravel Debugbar).composer require vimeo/vimeo-api:^4.0 to stay on the latest major version.tus-php and Guzzle for security updates. Use composer why-not to check for outdated dependencies..env and use environment-based configuration (e.g., config/vimeo.php for staging/production differences).Vimeo::setDebug(true); // Logs requests/responses to storage/logs/vimeo.log
dd() or dump() for debugging responses.How can I help you explore Laravel packages today?