This is a server side package for getting Notion page and blocks.
In order to render notion blocks in your application, please consider using npm package notion-viewer-client.
Requirements are:
"illuminate/support": "^8.0|^9.0",
"php": "^8.1",
"illuminate/http": "^8.0|^9.0"
You need to provide API key for getting Notion API.
If you don't know how to get API key, please consult this documentation.
- Install package via composer
composer require laravel-notion-viewer
- Publish config file
php artisan vendor:publish --tag=laravel-notion-viewer
The following routes will be auto registered.
/laravel-notion-viewer/data/{id}
/laravel-notion-viewer/link-preview
Config file will be
'API_KEY' => env('NOTION_API_KEY'),
'API_VERSION' => env('NOTION_API_VERSION'), // default '2022-06-28'
'cache' => [
// If you want to cache the response, set this to true
'enabled' => false,
// specify cache time in seconds
'time' => 60,
]
use Zlt\LaravelNotionViewer\Notion\Client;
-
Client::getPage('page-id');
-
Client::getBlocks('block-id');
-
Client::getPageWithBlocks('page-id');
-
Some blocks have children blocks. In order to get all children blocks, use this method.
Client::getRecursiveBlocks('block-id');
-
Client::getPageWithRecursiveBlocks('page-id');
-
If you get
object_not_found
error, please check if you have given your integration access to your Notion Page. See here.
If you want to support me, buy me a coffee via Binance.
- Add Tests
- Add more features to cover all Notion API endpoints