Ứ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.
- 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
-
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
-
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
- 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
- Backend:
main.js(Express, CORS, dotenv, node-fetch). Port mặc định3000(có thể đặtPORT). - Frontend:
views/index.html, phục vụ tĩnh từ Express. - Token được lấy theo thứ tự: header
X-Notion-Tokenprocess.env.NOTION_TOKENprocess.env.NOTION_API_KEY. - SDK
@notionhq/clientlà tùy chọn; thiếu SDK thì app dùng REST API trực tiếp (Notion-Version2022-06-28).
- Node.js 16+ (khuyến nghị 18+)
- npm
- Cài phụ thuộc:
npm install
- (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
- Chạy server:
npm run start:dev
- Mở
http://localhost:3000. - Trên Sidebar, nhập token vào ô "Notion Token" bấm "Lưu token" "Kiểm tra" để xác thực.
- Truy cập https://www.notion.com/my-integrations Create new integration.
- Đặ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).
- Sao chép "Internal Integration Token" dán vào ô token trong app hoặc
.env. - Mở Database/Page cần dùng Share Invite chọn integration vừa tạo và cấp quyền.
- 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.
- UI lưu token ở
localStoragevới khóaNOTION_TOKENvànotionTokenđể 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.
GET /api/healthkiểm tra server.GET /api/methông tin tài khoản từ token.GET /api/databasesliệt kê database.GET /api/pagesliệt kê page.GET /api/databases/:id/propertiesthuộc tính database.GET /api/databases/:id/rawdữ liệu thô database.POST /api/database/create-pagetạo page trong database:- Body:
database_id(bắt buộc),title(tùy chọn),properties(object),content(string),icon({ type: 'emoji'|'external', ...}).
- Body:
POST /api/pages/appendchèn nội dung vào page:- Body:
page_id,text.
- Body:
POST /api/databases/:id/properties/:propertyId/optionsthê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).
- Body:
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 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
./distchứa APK. - Icon app:
assets/icon/icon.png(khai báo trongpackage.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.
- 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.
Sử dụng nội bộ/học tập. Điều chỉnh theo nhu cầu dự án.



