riipandi / php-metabase
Embedding Metabase on your PHP application
Installs: 18 629
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- lcobucci/jwt: ^4.0
This package is auto-updated.
Last update: 2024-10-29 06:00:16 UTC
README
Library to embed Metabase frames. Forked from ipeevski/metabase-php
Installation
- Install via composer:
composer require riipandi/php-metabase
- Go to Metabase and enable embedding - https://{metabase_url}/admin/settings/embedding_in_other_applications
- Note down the Metabase base url and the Embedding secret key
Basic usage
First, you need to find the dashboard or question you want to embed. Note down the id - it would be at the end of the URL (for example https://{metabase_url}/dashboard/1?date=past26weeks
Note the integer after /dashboard/ - that's the ID of the dashboard. Also note the GET parameters at the end of the url - those are parameters you might want to pass to the dashboard too.
<?php include 'vendor/autoload.php'; $metabaseUrl = '[metabase_url]'; // The url of the metabase installation $metabaseKey = '[metabase_key]'; // The metabase secret embed key $dashboardId = 1; // The id of the dashboard (from the url) $params = ['date' => 'past26weeks']; // Any parameters to pass to the dashboard (optional) $metabase = new \Metabase\Embed($metabaseUrl, $metabaseKey); // Generate the HTML to create an iframe with the embedded dashboard echo $metabase->dashboardIframe($dashboardId, $params);
Using Laravel
Create config file at confog/metabase.php
<?php return [ 'url' => env('METABASE_URL', 'http://localhost:3000'), 'key' => env('METABASE_KEY'), ]
<?php $metabaseUrl = config('metabase.url'); // The url of the metabase installation $metabaseKey = config('metabase.key'); // The metabase secret embed key $dashboardId = 1; // The id of the dashboard (from the url) $params = ['date' => 'past26weeks']; // Any parameters to pass to the dashboard (optional) $metabase = new \Metabase\Embed($metabaseUrl, $metabaseKey); // Generate the HTML to create an iframe with the embedded dashboard echo $metabase->dashboardIframe($dashboardId, $params);