คำถามที่ถูกถามบ่อยที่สุด
ส่งแค่ลิงก์หรือลากไฟล์มาวาง แล้วมันรู้ได้ยังไงว่าใครทำอะไร
คำตอบสั้นๆ คือเราไม่ได้รู้เอง เครื่องมือที่กลุ่มใช้บันทึกไว้อยู่แล้ว เราแค่ไปอ่านมาคำนวณ
1ข้อมูลนี้ไม่ใช่ของเรา มันเป็นของ Google อยู่แล้ว
ทุก Google Doc บันทึกอยู่แล้วว่าใครแก้อะไรตอนไหน เปิดดูเองได้ที่ ไฟล์ › ประวัติเวอร์ชัน
AURA FARM ไม่ได้สร้างข้อมูลใหม่ และไม่ได้แอบดูใคร มันแค่อ่านสิ่งที่ทุกคนในกลุ่มเปิดดูได้อยู่แล้ว แล้วคำนวณให้
ไฟล์ Word ที่เปิด Track Changes ก็เป็นเรื่องเดียวกัน เปิดดูเองได้ที่ รีวิว › การเปลี่ยนแปลง ต่างกันแค่ข้อมูลอยู่ในตัวไฟล์ ไม่ได้อยู่บนคลาวด์
- ปอ31 ก.ค. 02:14
- ปอ30 ก.ค. 23:40
- มิ้น24 ก.ค. 21:08
- ปอ23 ก.ค. 01:55
- เจ22 ก.ค. 20:31
- ปอ+6,106🔥 คนแบก
- มิ้น-980🚌 ผู้โดยสาร
- เจ-1,125🚌 ผู้โดยสาร
- แบงค์-2,000👻 ชื่ออยู่ ตัวไม่อยู่
- ตาล-2,000👻 ชื่ออยู่ ตัวไม่อยู่
ตารางซ้ายเป็นภาพประกอบเชิงโครงสร้างของหน้าประวัติเวอร์ชัน ไม่ใช่ screenshot จริง ตอนขึ้นเวทีให้เปิดเอกสารจริงเทียบข้างจอเลยจะหนักแน่นกว่า
2ต้องล็อกอินกี่คน — คนเดียว
สมาชิกคนใดคนหนึ่งที่เข้าถึงเอกสารได้ ล็อกอิน Google หนึ่งครั้ง
ไม่ต้องให้ทุกคนสมัคร ไม่ต้องให้ทุกคนกดอะไร เพราะ Google บันทึกชื่อผู้แก้ไขไว้กับตัวเอกสาร ไม่ได้บันทึกไว้กับบัญชีของแต่ละคน
ขอสิทธิ์แค่ drive.readonly และ drive.activity.readonly — อ่านอย่างเดียว แก้ไขอะไรไม่ได้
3เส้นแบ่งจริงไม่ใช่ Google — คือมีบันทึกหรือไม่มี
ระบบนี้ไม่ได้ผูกกับ Google เลย มันผูกกับคำถามเดียวคือ เครื่องมือนั้นบันทึกไหมว่าใครแก้อะไรตอนไหน ถ้าบันทึก เราอ่านได้ ไม่ว่าจะเป็น API บนคลาวด์หรือไฟล์ในเครื่อง
ไฟล์ Word ที่เปิด Track Changes เก็บ w:ins และ w:del พร้อม w:author และ w:date ไว้ในตัวไฟล์เอง ลากไฟล์มาวางก็คำนวณได้ทันที ไม่ต้อง OAuth ไม่ต้องต่อเน็ต
เครื่องมือไหนอ่านได้ เครื่องมือไหนอ่านไม่ได้
| เครื่องมือ | มีบันทึกผู้แก้ไข? | สถานะ |
|---|---|---|
| Google Docs / Slides / Sheets | Drive Activity + Revisions API | ✅ ใช้ได้ |
| Word ที่เปิด Track Changes | w:ins / w:del ในไฟล์เอง | ✅ ใช้ได้ ลากไฟล์มาวาง |
| Word Online / OneDrive / SharePoint | Microsoft Graph driveItem/versions | ✅ ใช้ได้ ต้องมี token |
| GitHub | commits | ✅ ใช้ได้ |
| Word ในเครื่อง ไม่เปิด Track Changes | รู้แค่คนที่เซฟล่าสุด | ❌ ทำไม่ได้ |
| Canva / Figma | มี version history แต่ API ไม่เปิดรายละเอียด | ❌ ยังไม่รองรับ |
| ส่งไฟล์กันทาง LINE | ไม่มีบันทึกอะไรเลย | ❌ ทำไม่ได้ |
AURA FARM ไม่ได้ผูกกับ Google มันผูกกับ "ร่องรอยที่มีชื่อและเวลา" เครื่องมือไหนบันทึกไว้ เราอ่านได้หมด เครื่องมือไหนไม่บันทึก ไม่มีใครอ่านได้ รวมทั้งเรา
4ถ้าเป็น Google Docs อ่านจากสอง API คนละหน้าที่
| API | ให้อะไร | ใช้ทำอะไรในสูตร |
|---|---|---|
| Drive Activity API v2 | เหตุการณ์แก้ไข: ใคร + เมื่อไหร่ | consistency — งานกระจายตามเวลาหรือกระจุกคืนสุดท้าย |
| Drive Revisions API v3 | สแนปช็อตเอกสาร + lastModifyingUser + exportLinks | volume — ดึงแต่ละ revision เป็น text/plain แล้ว diff คู่ติดกัน |
- ลิงก์เอกสาร
- fileId
- Activity API + Revisions API
- Edit[]
- scoring.ts
- aura + gini
- มีม
5ขอ token ยังไง ถ้าอยากลองกับเอกสารจริง
โหมดปกติของระบบไม่ต้องใช้ token เลย — ลากไฟล์ .docx ที่เปิด Track Changes มาวางก็คำนวณได้ทันที ส่วนการอ่านลิงก์ Google Docs หรือ SharePoint ต้องมี token เพราะเป็นการเข้าถึงบัญชีของคุณเอง คัดลอก .env.example เป็น .env.local แล้วเติมค่า จากนั้นรีสตาร์ท dev server
Google Docs — 4 ขั้นตอน
- เปิด Google OAuth 2.0 Playground
- ช่อง scope ใส่
drive.readonlyและdrive.activity.readonly - กด Authorize APIs แล้วเลือกบัญชีที่เข้าถึงเอกสารนั้นได้
- กด Exchange authorization code for tokens แล้วคัดลอก access token ไปใส่
GOOGLE_OAUTH_ACCESS_TOKEN
SharePoint / OneDrive — 3 ขั้นตอน
- เปิด Microsoft Graph Explorer แล้ว sign in ด้วยบัญชีที่เข้าถึงไฟล์ได้
- แท็บ Modify permissions › consent ให้
Files.Read.AllและSites.Read.All - แท็บ Access token › คัดลอกไปใส่
MICROSOFT_GRAPH_ACCESS_TOKEN
token จากสองเครื่องมือนี้หมดอายุใน 1 ชั่วโมง เหมาะกับการลองและการเดโม่ ไม่เหมาะกับการใช้งานจริงระยะยาว ถ้าจะใช้ยาวต้องทำ refresh token flow เอง และ อย่า commit ไฟล์ .env.local ขึ้น git เด็ดขาด — .gitignore กันไว้ให้แล้ว
6ข้อจำกัดของแหล่งข้อมูล — เขียนให้ครบ อย่าซ่อน
- Google รวบ revision ไม่ได้เก็บทุกการกดแป้น หนึ่ง revision อาจครอบคลุมการพิมพ์ทั้ง session ระบบจึงวัดในระดับ session ไม่ใช่ระดับตัวอักษรแบบเรียลไทม์
- ถ้าสองคนพิมพ์พร้อมกัน revision ที่ถูกรวบอาจติดชื่อผู้แก้ไขคนเดียว เราจึงใช้ Activity API มาถ่วง เพราะมันรายงาน actor ได้หลายคนในช่วงเวลาเดียว แล้วหารปริมาณของ revision นั้นให้ทุกคนที่มีร่องรอยในช่วงเดียวกัน
- การแก้ไขโดยไม่ล็อกอิน (แชร์แบบ "ทุกคนที่มีลิงก์") จะไม่มีชื่อผู้แก้ไข ระบบนับเป็น
unattributedและตัดออกจากการคำนวณ พร้อมแจ้งเตือนบนหน้าจอว่าตัดไปกี่ revision - ถ้าทั้งกลุ่มใช้บัญชีเดียวกันแก้เอกสาร ระบบแยกคนไม่ได้ จะแจ้งเตือนและปฏิเสธการวิเคราะห์ ไม่เดาให้
- ฝั่ง Word: ถ้าไม่ได้เปิด Track Changes ไว้ เปิดย้อนหลังไม่ได้ ไฟล์นั้นเหลือข้อมูลแค่ว่าใครเซฟล่าสุด และถ้าเคยสั่ง "ลบข้อมูลส่วนบุคคล" ชื่อผู้แก้ไขจะกลายเป็น
Authorทั้งหมด ระบบจะปฏิเสธไฟล์แล้วบอกวิธีปิดค่านั้น - ชื่อใน Word คือชื่อโปรไฟล์ Office ไม่ใช่อีเมล ระบบจึงให้แก้ชื่อ → สมาชิกบนหน้าจอก่อนกดวิเคราะห์ทุกครั้ง