Мой опыт использования Notion API
![](/static/storage/223754841945204846505951040153655673449.png)
Notion — это SaaS-платформа для управления документами, основанная в 2013 году.
Notion - это единое пространство, где можно думать, писать и планировать.
Причина, по которой я использую его, заключается в том, что он «прост в использовании».
Вы можете использовать его как блокнот для заметок, но вы также можете легко создавать таблицы, списки задач и доски проектов, такие как Github, в одно мгновение.
У меня сложилось впечатление, что он широко используется не только инженерами, но и людьми в сфере бизнеса из-за простоты использования, что упрощает создание документов.
Notion неуклонно растет, достигнув в прошлом году оценки в 10 миллиардов долларов.
Что вы можете сделать с Notion API?
Notion выпустила общедоступный API 1 августа 2022 г.
Я подумал, что с помощью этого можно еще больше повысить эффективность работы, поэтому я попробовал.
Так что же вы можете делать с каждым компонентом Notion:
Компоненты Notion
Notion имеет внутренние компоненты. В частности, есть «база данных», «таблица» и «блок», и простая связь между ними выглядит следующим образом.
база данных
База данных — это самый большой компонент, из которого состоит Notion.
Как вы увидите ниже, страницы сгруппированы и управляются. Им можно управлять в виде стола или доски.
Соответствующий API базы данных выглядит следующим образом. Похоже, что в CRUD нет удаления.
операция | описаание |
Запрос | Поиск информации в базе данных на основе критериев фильтрации. Добавьте его, когда вам нужен список страниц в базе данных. |
Поиск по идентификатору | Получить информацию о базе данных, идентификатор которой известен. |
Создайте | Создать новую базу данных |
Обновить | Обновление информации в существующей базе данных (например, переименование). |
страница
Страницы являются центральным элементом документов в Notion. Создавайте заметки и статьи на этой странице.
Соответствующий API страницы выглядит следующим образом. В API страниц нет запросов, подобных базам данных.
операция | описание |
Поиск по идентификатору | Получить информацию о странице, идентификатор которой известен. |
Создайте | Создайте новую страницу. |
Обновить | Обновление информации на существующей странице (например, переименование). |
Получить свойства страницы | Получить информацию о свойстве из идентификатора страницы. |
Кроме того, в справочнике есть пункт для удаления страницы, но указано, что нужно использовать конечную точку блока, поэтому здесь он пропущен.
блоки
Блоки — это отдельные элементы, из которых состоит страница. Например, если вы создаете таблицу на странице, эта таблица становится одним блоком.
Соответствующий API страницы выглядит следующим образом.
операция | описание |
Поиск по идентификатору | Получить информацию о блоке с известным ID. |
Получить дочерний элемент | Если в этом блоке есть дочерний элемент, получить его на основе идентификатора. |
Создайте | Создайте новый блок. |
Обновить | Обновление информации на существующей странице (например, переименование). |
Удалить | Удалить блоки. |
На данный момент мы представили API для компонентов Notion. Существуют также конечные точки «Пользователь» и «Поиск».
пользователь
Соответствующий API для пользователя выглядит следующим образом.
операция | описание |
Поиск по идентификатору | Получить информацию о пользователе, чей идентификатор известен. |
Получение списка | Получите список пользователей в рабочей области. |
Получить бота | Получите пользователя бота, связанного с токеном API. |
поиск
операция | описание |
Запрос | Поиск информации среди всех страниц, на которые разрешен доступ через API. |
Попробуйте прикоснуться к Notion API.
Вот краткое описание того, что вы можете делать с помощью API. Отсюда я подробно объясню, как использовать API.
Посетите раздел Мои интеграции Notion
1. Перейдите на https://www.notion.so/my-integrations.
Вы должны увидеть экран, подобный приведенному ниже.
![](/static/storage/12014688955252653132053830672239478212.png)
2. Выберите + Новая интеграция слева.
3. Введите, как показано на изображении ниже, чтобы создать интеграцию.
![](/static/storage/166434192931363426225397871651742398017.png)
4. Когда создание будет успешно завершено, секрет будет отображаться выше, поэтому запишите его.
![](/static/storage/284438427603234910670751149488148875594.png)
Разрешить созданной интеграции доступ к базе данных
Я создал интеграцию, поэтому я хочу использовать ее для API! ... но перед этим вам нужно поделиться базой данных, чтобы к ней можно было получить доступ через API.
1 Откройте Notion и нажмите «Поделиться» для базы данных, которой вы хотите поделиться.
![](/static/storage/137514820939281377334288436669707904100.png)
2. Пригласите интеграцию, которую вы только что создали.
![](/static/storage/205770218994876163463682814316510063847.png)
Попробуйте API
Теперь, когда мы завершили создание, пришло время опробовать API. На этот раз я попытаюсь просто проверить это с помощью curl.
Запустить Терминал. Давайте запустим следующую команду в запущенном терминале!
Кстати, замените на секрет, который вы записали ранее.
curl 'https://api.notion.com/v1/databases' \
-H 'Авторизация: Bearer '"secret_xxxxxxxxxxxxxxxxxx"'' \
-H 'Notion-Version: 2021-08-16'
Думаю, что результат будет возвращается следующим образом, если он может быть получен успешно.
"object":"list","results":[{"object":"database","id":"xxxxxxxxxxxxxxxxxxx","cover":null,"icon":null,"created_time":"2022-01-26T22:41:00.000Z","last_edited_time":"2022-02-08T02:00:00.000Z","title":[{"type":"text","text":{"content":"ToDo","link":null},"annotations":{"bold":false,"italic":false,"strikethrough":false,"underline":false,"code":false,"color":"default"},"plain_text":"ToDo","href":null}],"properties":{"Status":{"id":"%3DrdM","name":"Status","type":"select","select":{"options":[{"id":"1","name":"Not started","color":"red"},{"id":"2","name":"In progress","color":"yellow"},{"id":"3","name":"Completed","color":"green"}]}},"Assign":{"id":"WbC%5D","name":"Assign","type":"people","people":{}},"Name":{"id":"title","name":"Name","type":"title","title":{}}},"parent":{"type":"workspace","workspace":true},"url":"https://www.notion.so/xxxxxxxxxxxxxxxxxx"}],"next_cursor":null,"has_more":false}
Мысли
На этот раз я коснулся общедоступного бета-API, опубликованного Notion.
Notion — очень интересный инструмент, и я думаю, что он определенно будет расти в будущем (точнее, он уже популярен). У меня сложилось впечатление, что Notion API по-прежнему имеет ограниченную функциональность, но я хотел бы следить за ним, чтобы наверстать упущенное.
Кроме того, создается библиотека в Go, чтобы коснуться Notion API.