codecycler / notion
Notion PHP SDK
Fund package maintenance!
Codecycler
Installs: 1 464
Dependents: 0
Suggesters: 0
Security: 0
Stars: 37
Watchers: 5
Forks: 16
Open Issues: 8
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.0.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.17
- phpunit/phpunit: ^9.5
- spatie/ray: ^1.10
- vimeo/psalm: ^4.3
README
This is an unofficial PHP SDK for the new public Notion API. It's work in progress as we didn't get the change to be included to the private beta.
Installation
You can install the package via composer:
composer require codecycler/notion
Usage
Getting all databases attached to your integration.
use Notion\Notion; $databaseOptions = new Notion($token) ->database() ->ids();
Querying a database by id
use Notion\Notion; $databaseOptions = new Notion($token) ->database($databaseId) ->query() ->get();
Query database by property
$nameFilter = (new Notion\Filters\TextFilter()) ->equals('Name', 'Notion is awesome!'); $database = $client->database('e3161af3-ff12-43c5-9f42-02eea4ab4cbf') ->query() ->filter($nameFilter) ->get(); foreach ($database->pages as $page) { $name = $page->name; $status = $page->status; }
Getting a page by id
$page = $client->page('9b0ff081-1af8-4751-92d6-9e07fbd5c20d')->get(); $name = $page->name; // Property: 'Name' $showOnWebsite = $page->showOnWebsite; // Property: 'Show on website'
Creating a new page in a database
$database = $client->database('e3161af3-ff12-43c5-9f42-02eea4ab4cbf')->get(); $page = $database->newPage(); $page->name = 'New page created with the Notion API'; $page->showOnWebsite = true; $page->save();
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.