brd6/notion-sdk-php

PHP版的官方NOTION API

资助包维护!
brd6


README

brd6/notion-sdk-php

PHP版的官方NOTION API

Source Code Download Package PHP Programming Language Read License Build Status

这是官方NOTION API的PHP版本。它的工作方式与参考的JavaScript SDK相同 🎉

安装

使用Composer将此包作为依赖项安装。

composer require brd6/notion-sdk-php

此包 (brd6/notion-sdk-php) 不依赖于任何特定的库,例如用于发送HTTP消息的Guzzle或Buzz。相反,它使用PSR-18客户端抽象,让用户选择他们想要使用的PSR-7实现HTTP客户端

如果您只想快速开始使用symfony http客户端,请运行以下命令

composer require brd6/notion-sdk-php symfony/http-client nyholm/psr7

用法

使用Notion的入门指南来设置使用Notion API。

使用集成令牌或OAuth访问令牌导入并初始化客户端。

use Brd6\NotionSdkPhp\Client;
use Brd6\NotionSdkPhp\ClientOptions;

$options = (new ClientOptions())
    ->setAuth(getenv('NOTION_TOKEN'));

$notion = new Client($options);

向任何Notion API端点发送请求。

API参考中查看端点的完整列表。

$listUsersResponse = $notion->users()->list();
var_dump($listUsersResponse->toArray());
array (size=4)
  'has_more' => boolean false
  'results' =>
    array (size=2)
      0 =>
        array (size=6)
          'object' => string 'user' (length=4)
          'id' => string '7f03dda0-a132-49d7-b8b2-29c9ed1b1f0e' (length=36)
          'type' => string 'person' (length=6)
          'name' => string 'John Doe' (length=8)
          'avatar_url' => string 'https://s3-us-west-2.amazonaws.com/public.notion-static.com/521dfe9c-f821-4de8-a0bb-e40ff71283e5/39989484_10217003981481443_4621803518267752448_n.jpg' (length=149)
          'person' =>
            array (size=1)
              ...
      1 =>
        array (size=5)
          'object' => string 'user' (length=4)
          'id' => string '8dee9e49-7369-4a6d-a11f-7db625b2448c' (length=36)
          'type' => string 'bot' (length=3)
          'name' => string 'MyBot' (length=5)
          'bot' =>
            array (size=1)
              ...
  'object' => string 'list' (length=4)
  'type' => string 'user' (length=4)

端点参数组合成一个单独的对象。您不需要记住哪些参数放入路径、查询或正文。

$databaseRequest = new DatabaseRequest();
$databaseRequest->setFilter([
    'property' => 'Landmark',
    'text' => [
        'contains' => 'Bridge',
    ],
]);
$myPage = $notion->databases()->query('897e5a76-ae52-4b48-9fdf-e71f5945d1af', $databaseRequest)

错误处理

如果API返回不成功的响应,将抛出ApiResponseException

错误包含来自响应的属性,其中最有帮助的是code。您可以将codeNotionErrorCodeConstant对象中的值进行比较,以避免拼写错误代码。

客户端选项

Client支持初始化时以下选项。这些选项可以在ClientOptions实例上设置。

贡献

欢迎贡献!要贡献,请熟悉CONTRIBUTING.md

许可

MIT许可(MIT)。有关更多信息,请参阅LICENSE