Skip to content

bien245/notion_vn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotionVN Notion Quick Add

Ứng dụng giúp kết nối nhanh với Notion để tìm kiếm Database/Page, xem thuộc tính, tạo Page mới, thêm lựa chọn cho thuộc tính multi_select và chèn nội dung vào Page. Ứng dụng gồm server Express và giao diện web tĩnh (views/index.html), có thể đóng gói thành app Android bằng androidjs.

Tính năng

  • Kiểm tra kết nối: Gọi /api/me để xác thực token nhanh.
  • Tìm kiếm và liệt kê: Database (/api/databases) và Page (/api/pages).
  • Tạo Page trong Database (hỗ trợ icon emoji/external và nội dung ban đầu).
  • Chèn nội dung vào Page

Hướng dẫn dùng

  1. Tạo dự án notion: Truy cập đường link https://www.notion.so/profile/integrations nhất tạo tích hợp mới

  2. Chọn các databse và page có thế tích hợp vào (bắt buộc để dùng được )

    3.Lấy token tích hợp và đưa vào app

Tính năng

  • Handwriting trong ô nhập page
  • lấy dữ liệu về chỉnh sửa tiếp (3 chế độ) trong tạo page
  • Lấy dữ liệu page về và cập nhật
  • chỉnh cái hộp yêu thích chỉ hiện theo page hoặc database
  • tạo trang cài đặt
  • sửa lỗi tìm kiếm
  • ẩn cái loaddatabase với page lưu vào cache
  • đặt icon cho page
  • đặt dấu sao cho page hoặc database
  • menu bên phải hoặc popup
  • dc thêm thuộc tính mới cho nhiều lựa chọn
  • lựa chọn mẫu có sẵn
  • Hiện icon page
  • tối ưu lại giao diện và dung lượng file apk
  • chỉnh lại cái ô gợi ý / gợi ý đúng lúc của editorjs

Kiến trúc

  • Backend: main.js (Express, CORS, dotenv, node-fetch). Port mặc định 3000 (có thể đặt PORT).
  • Frontend: views/index.html, phục vụ tĩnh từ Express.
  • Token được lấy theo thứ tự: header X-Notion-Token process.env.NOTION_TOKEN process.env.NOTION_API_KEY.
  • SDK @notionhq/client là tùy chọn; thiếu SDK thì app dùng REST API trực tiếp (Notion-Version 2022-06-28).

Yêu cầu

  • Node.js 16+ (khuyến nghị 18+)
  • npm

Cài đặt và chạy (Development)

  1. Cài phụ thuộc:
    npm install
  2. (Tùy chọn) Tạo .env để không cần nhập token trên UI:
    NOTION_TOKEN=your-internal-integration-token
    # hoặc: NOTION_API_KEY=...
    PORT=3000
  3. Chạy server:
    npm run start:dev
  4. Mở http://localhost:3000.
  5. Trên Sidebar, nhập token vào ô "Notion Token" bấm "Lưu token" "Kiểm tra" để xác thực.

Hướng dẫn tạo Notion Integration và lấy token

  1. Truy cập https://www.notion.com/my-integrations Create new integration.
  2. Đặt tên, chọn workspace, cấp quyền cần thiết (để tạo/chỉnh sửa cần quyền write).
  3. Sao chép "Internal Integration Token" dán vào ô token trong app hoặc .env.
  4. Mở Database/Page cần dùng Share Invite chọn integration vừa tạo và cấp quyền.
  5. Lấy database_id/page_id:
    • Có thể dùng toàn bộ URL Notion, server sẽ tự trích 32 ký tự ID (có/không dấu gạch đều được).
    • Ví dụ URL Database: https://www.notion.so/Workspace/Your-DB-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.

Cấu hình token trong ứng dụng

  • UI lưu token ở localStorage với khóa NOTION_TOKENnotionToken để tự động nạp lại.
  • Gọi API thủ công: thêm header X-Notion-Token: <your_token>.
  • Nếu không có header, server sẽ dùng biến môi trường NOTION_TOKEN/NOTION_API_KEY.

Tham chiếu API nhanh

  • GET /api/health kiểm tra server.
  • GET /api/me thông tin tài khoản từ token.
  • GET /api/databases liệt kê database.
  • GET /api/pages liệt kê page.
  • GET /api/databases/:id/properties thuộc tính database.
  • GET /api/databases/:id/raw dữ liệu thô database.
  • POST /api/database/create-page tạo page trong database:
    • Body: database_id (bắt buộc), title (tùy chọn), properties (object), content (string), icon ({ type: 'emoji'|'external', ...}).
  • POST /api/pages/append chèn nội dung vào page:
    • Body: page_id, text.
  • POST /api/databases/:id/properties/:propertyId/options thêm lựa chọn cho multi_select:
    • Body: name (bắt buộc), color (default|gray|brown|orange|yellow|green|blue|purple|pink|red).

Lưu ý: Tham số :id nhận ID có gạch hoặc 32 ký tự liền, hoặc URL chứa ID.

Đóng gói Android (androidjs)

Ứng dụng có thể build thành APK bằng androidjs.

  • Cài CLI:
    npm i -g androidjs
  • Build:
    npm run build
    # tương đương: androidjs build
  • Đầu ra: thư mục ./dist chứa APK.
  • Icon app: assets/icon/icon.png (khai báo trong package.json).

Ghi chú: Tùy môi trường, có thể cần JDK/Android build tools. Xem tài liệu androidjs khi gặp lỗi build.

Bảo mật

  • Không chia sẻ token. Token lưu cục bộ ở trình duyệt (localStorage).
  • Khi dùng máy lạ, xóa token sau khi dùng (xóa nội dung token và bấm Lưu để dọn cache).
  • Chỉ cấp quyền integration cho database/page cần thiết.

Giấy phép

Sử dụng nội bộ/học tập. Điều chỉnh theo nhu cầu dự án.

About

App này giúp bạn đưa nhanh nội dung vào notion mà không cần mở notion giúp tối ưu hóa thời gian cho những người bận rộn mình tạo dự án này để giúp những bạn yêu thích notion nhưng khó chịu với tốc độ tải của notion

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors