數據對接:從Notion Database到低代碼平臺

来源:https://www.cnblogs.com/cybozu/archive/2023/02/20/17136877.html
-Advertisement-
Play Games

在 HTML 中引入 JavaScript 文件時,可以使用 defer 屬性,該屬性可以推遲(defer)腳本的執行,即等到整個 HTML 文檔解析完畢後才執行腳本。 使用 defer 屬性可以避免在解析 HTML 文檔的過程中阻塞頁面的渲染,提高頁面載入的速度。 同時,defer 屬性還可以確保 ...


前言

Notion簡介

近幾年,有一款叫Notion的產品異常火爆,它是集筆記、任務管理、Wiki、數據管理為一體的產品,他主打兩個理念「模塊化」和「All-in-one」,Notion最有魅力的還是引進了Database和雙向鏈的理念

Notion也算是一個漸進式的工具產品,漸進式你可以理解為,可以簡單的當筆記工具用,也可以當個人或小團隊的工作知識庫和任務管理工具用。

Notion與kintone

在實際使用Notion的過程中,我發現它的Database數據形式有著重要地位,它和Notion其他一些特色功能融合後,充分放大了其擴展性,自由性,和靈活性。Notion的Database屬於關係型資料庫的範疇,我不禁想到,關係型資料庫的形式也是kintone App的核心內容,所以那他們之間一定是可以互通的。

今天我們就來探討一下如何進行Notion和kintone之間的數據轉換。

探討範圍

本著拋磚引玉的理念,本文想要做的更多是啟發開發思路,而非那種可以拿來即用成熟產品。所以探討和演示的範圍不會面面俱到。

數據對接

說到數據對接,本應該是雙向的,但本文只討論Notion向kintone的單向轉換。因為反向轉換的話,完全可以反推出來,有需求的讀者可以自行推演。

欄位類型

Notion和kintone的二維結構表格中的欄位,都有自己類型的設計,有相似的,也有不同的。本文中所演示的,只是一部分欄位的轉換,而且欄位的對應關係也非嚴格匹配。讀者可根據實際需求,或增加更多轉換欄位,或更改的欄位類型對應關係。

譬如,Notion中的欄位類型“Text”,其實技術上可以叫“RichText”(帶豐富格式的文本),但我轉換到kintone時,用的只是普通的“單行文本框”。

前期準備

Notion方面的準備

  • 在Notion中建立一個database,建立幾個想要對接欄位 。這裡我建立了一個書店的表格。

    • 要使用Notion的API,則先要創建一個integration。integration字面翻譯叫做“融入”,這是Notion自己的叫法,我們可以簡單理解為平時經常說的API Token。創建方式見官方文檔。創建成功後你會得到一個Secrets字元串。 有了integration之後,還要把它連接到剛纔的database中,使得在調用API時,獲得此database的訪問許可權。在最右上角的三個點圖標中,找到Add connections,輸入剛纔的integration名,確認後連接成功。 

    • kintone方面的準備

      • 建立一個kintone App,用來接受Notion的database數據,所以欄位類型必須選擇合適的。 書名、ISBN、作者、可以選擇單行文本框,定價選擇數值,標簽可以選擇覆選框或是多選。

        • 給每個欄位設置好欄位代碼,以備在程式中使用。我以json object的形式給出,屬性名是欄位名,屬性值是欄位代碼,將來程式里能直接用得上。

        • {
              書名: 'book_name',
              ISBN: 'isbn',
              作者: 'author',
              定價: 'price',
              標簽: 'label',
            }
          

            創建token,以便將來程式中訪問此App。 

          • 程式編寫運行環境方面

          • 本文中所演示的代碼,都是在nodejs的npm模式下編寫調試的,我們也強烈建議您也在這種模式下來編寫程式。而且我們將分別使用Notion和kintone的SDK,這種模式下引用庫也會相對方便一些。下麵是package.json文件的一部分相關設置,供您參考。

            {
                "name": "notion2kintone",
                "version": "1.0.0",
                "type": "module",
                "dependencies": {
                  "@kintone/rest-api-client": "^3.1.11",
                  "@notionhq/client": "^2.1.1"
                }
              }
            

              代碼範例和代碼解說,請點擊:https://cybozudev.kf5.com/hc/kb/article/1582538/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 說起國際化,開發過跨區域網頁的小伙伴應該都遇到過。我們的網頁需要配置多套語言,方便用戶進行切換。 本文就以 React 為例,介紹其中一種實現方案,並學習一下其中的知識點。 一種國際化方案 方案是這樣的: 為多套語言創建對應的 object,並 export 出去 通過 js 立即執行函數,載入選定 ...
  • 其他章節請看: react 高效高質量搭建後臺系統 系列 尾篇 本篇主要介紹表單查詢、表單驗證、通知(WebSocket)、自動構建。最後附上 myspug 項目源碼。 項目最終效果: 表單查詢 需求:給角色管理頁面增加表格查詢功能,通過輸入角色名稱,點擊查詢,從後端檢索出相應的數據。 效果如下: ...
  • 前言 以往零零散散使用過一些Vue的語法,最近才剛剛系統接觸Vue,現在是剛剛入門的狀態,故在這裡做一個記錄和梳理,歡迎大家一起學習交流,有錯誤的地方也歡迎大家指正。 正篇 夢開始的地方 在寫之前我想先在這裡貼出Vue的一個官方的(應該是)學習教學https://cn.vuejs.org/guide ...
  • 好家伙,我回來了, 本篇為《JS高級程式設計》第十四章“DOM編程”學習筆記 1.DOM編程 我們知道DOM是HTML文檔的編程介面, 我們可以通過HTML代碼實現DOM操作, 也同樣能夠通過JavaScript實現DOM操作。 2.JS操作DOM 我們來簡單的舉個例子: 隨便開一個空白的html頁 ...
  • 問題:後端返回的失敗 blob 數據流, 前端如何捕獲展示 業務需求,需要後端控制文件下載頻率,用戶在短時間內不可以重覆下載文件,並返回消息提示 (剩餘 XX 秒)。前端需要把返回數據msg消息展示彈出 數據在瀏覽器的響應里可以看到 但是在列印的 res 中卻找不到對應的msg,也就沒有辦法將對應內 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 HTML頁面載入過程會發生什麼?因為瀏覽器網路拉取資源是多線程的,但是dom樹的操作都是在一個線程中的,所以網頁資源的解析、js載入、dom樹渲染都是一個線程執行,所以就會線程任務就會相互搶占,先來先執行。而當瀏覽器載入html文件時,會 ...
  • JavaScript數組方法大全 趁著有時間,總結了下數組所有的屬性和方法,記錄博客,便於後續使用 at() at方法,用於獲取數組中,對應索引位置的值,不能修改。 語法:array.at(count); 參數:count,數組的索引值 返回值:返回該索引在數組中對應的值,如果count大於等於數組 ...
  • RegExp() 在es5中,RegExp的構造函數參數有兩種情況 1、字元串 2、正則表達式 // 第一種情況 let regex = new RegExp('abc', 'i') // 第二種情況 let regex2 = /abc/i 這兩種情況是等價的 let s = 'abc' regex ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...