productize.life
TH EN
production guardrails · 0-to-1 solo builder

เราให้ AI โพสต์ Facebook กับ LinkedIn แทนทุกวัน
นี่คือ 3 ด่านที่กันมันพัง

ตั้งค่าให้ AI ยิงโพสต์เองได้คือครึ่งเดียว อีกครึ่งคือ 3 ด่านกันพัง เพราะงานที่ส่งผลสาธารณะมันกดแล้วถอนยาก นี่คือวิธีตั้งค่าทีละขั้น และด่านที่ทำให้ปล่อยได้โดยไม่ต้องลุ้น

Yim· เขียนด้วยกันกับ Dobby (AI Oracle)/21 มิ.ย. 2026/~9 นาที

โพสต์บล็อกของตัวเองลงโซเชียลทุกวันมันกินเวลากว่าที่คิด เขียนแคปชั่นสองภาษา หารูป วางลิงก์ให้ถูกที่ กดทีละแพลตฟอร์ม วันละครึ่งชั่วโมงที่ควรเอาไปทำของจริง

เราอยากให้ผู้ช่วย AI ทำแทน แต่มีจังหวะนึงยังติดในหัว มันเคยบอกว่าโพสต์เรียบร้อยแล้วทั้งที่ยังไม่ได้ขึ้น พอเชื่อคำว่าเสร็จโดยไม่ตรวจ ก็เพิ่งมารู้ทีหลังว่าหาย

โจทย์จริงคืองานโพสต์สาธารณะมันกดแล้วถอนยาก คนเห็นไปแล้ว เพราะงั้นคำว่าอัตโนมัติกับงานแบบนี้ไม่ใช่แค่เขียนสคริปต์ให้ยิงได้ แต่ต้องวางด่านกันพังไว้ด้วย โพสต์นี้เล่าทั้งวิธีตั้งค่าจริงทีละขั้นแบบทำตามได้ และสามด่านที่ทำให้ปล่อยให้ระบบโพสต์แทนได้โดยไม่ต้องลุ้น ทุกอย่างทำเองจริง รวมถึงจุดที่เราติดระหว่างทางด้วย

ช่วงที่ 1สองแพลตฟอร์ม คนละกติกา

อย่าคิดว่า Facebook กับ LinkedIn เหมือนกันแค่เปลี่ยนปลายทาง สามจุดที่ต่างจริงและพลาดง่าย

หนึ่ง Facebook โพสต์ผ่าน API ได้เฉพาะเพจ ลงโปรไฟล์ส่วนตัวไม่ได้ ส่วน LinkedIn กลับกัน โพสต์ลงโปรไฟล์ส่วนตัวได้ผ่านสิทธิ์ชื่อ w_member_social

สอง ลิงก์บทความวางคนละที่ Facebook ลดการมองเห็นโพสต์ที่มีลิงก์ในตัวข้อความ ลิงก์เลยควรไปอยู่ในคอมเมนต์แรก ส่วน LinkedIn ลิงก์ในตัวโพสต์ก็โดนลด ทางที่เจ็บน้อยกว่าคือไปไว้ที่ส่วน Featured หรือไบโอ กติกาเรื่องลิงก์เป็นของใครของมัน

สาม เลขระบุเพจของ Facebook มีสองตัว ตัวที่เห็นใน URL หน้าเพจ กับตัวที่ API ใช้จริง คนละเลขกัน หยิบผิดยิงไม่ออก

ช่วงที่ 2ตั้งค่า Facebook ทีละขั้น

  1. สร้างแอปที่ developers.facebook.com เลือกชนิด Business ตราบใดที่เราเป็นแอดมินเพจเอง โหมด Development โพสต์ลงเพจตัวเองได้เลย ไม่ต้องรอ App Review
  2. เปิด Graph API Explorer ขอสิทธิ์ pages_show_list pages_manage_posts pages_read_engagement แล้วกด Generate Access Token จะได้ token ของผู้ใช้ อายุสั้นประมาณหนึ่งถึงสองชั่วโมง จุดที่เราเสียเวลาหา คือเมนู User Token ใน dropdown ไม่ต้องไปตามหามัน กด Generate Access Token ตรง ๆ ได้เลย dropdown ตัวนั้นมีไว้สลับชนิด token หลังจากมี token แล้ว ไม่ใช่ก่อนสร้าง
  3. แลกให้เป็น token ถาวร เอา token สั้นไปแลกเป็น token ยาวอายุหกสิบวันก่อน แล้วเรียก /me/accounts ด้วย token ยาวนั้น มันจะคืน token ของเพจที่ไม่หมดอายุมาให้ เก็บตัวนี้ไว้ใช้โพสต์
  4. จุดที่พลาดง่าย เลขเพจที่ /me/accounts คืนมา คือเลขที่ API ใช้จริง อย่าหยิบเลขจาก URL หน้าเพจ มันคนละตัวกัน ให้ระบบดึงเลขที่ถูกมาเอง ดีกว่าตาเราเดา
  5. โพสต์ ยิง POST /{page-id}/photos พร้อมข้อความและ url ของรูป (โพสต์มีรูปถูกดันมากกว่าตัวอักษรล้วน) จะได้เลข post กลับมา แล้วยิง POST /{post-id}/comments วางลิงก์บทความเป็นคอมเมนต์แรก
  6. ตรวจ อ่านโพสต์นั้นกลับมาจาก Facebook ยืนยันว่ามีข้อความ มีรูป มีคอมเมนต์จริง

ช่วงที่ 3ตั้งค่า LinkedIn ทีละขั้น

LinkedIn ยุ่งกว่าหนึ่งสเต็ปเพราะใช้ OAuth เต็มรูปแบบ

  1. สร้างแอปที่ linkedin.com/developers ระบบบังคับให้ผูกกับ Company Page สร้างเพจเปล่าไว้ก่อนได้ โพสต์จริงลงโปรไฟล์เรา ไม่ได้ลงเพจนี้
  2. ยืนยันแอปในแท็บ Settings ข้อนี้สำคัญและคนข้ามบ่อย ถ้าไม่ยืนยัน product จะยังไม่ทำงาน
  3. แท็บ Products เพิ่มสองตัว Share on LinkedIn ปลดสิทธิ์โพสต์ w_member_social และ Sign In with LinkedIn using OpenID Connect ปลดสิทธิ์ดึงรหัสตัวตนของเรา
  4. แท็บ Auth เก็บ Client ID กับ Client Secret และใส่ redirect URL ให้ตรงเป๊ะกับที่จะใช้
  5. ทำ OAuth เปิดลิงก์ขออนุญาตในเบราว์เซอร์ กดอนุมัติ จะได้ code กลับมา แล้วเอา code ไปแลกเป็น token ที่ฝั่งเซิร์ฟเวอร์ จากนั้นเรียก /v2/userinfo เพื่อเอารหัสตัวตน (person URN) มาระบุว่าใครเป็นคนโพสต์
  6. โพสต์ ยิง POST /v2/ugcPosts อย่าลืมใส่ header X-Restli-Protocol-Version: 2.0.0

จุดที่เราติดนานที่สุดทั้ง session คือ step 5 เปิดลิงก์ขออนุญาตแล้วเจอ unauthorized_scope_error หรือหน้า Bummer something went wrong ค้างหลายรอบ สิ่งที่ได้เรียนตามลำดับ

อีกข้อจำกัดที่เจอตอนใช้จริง ให้ AI ไปคอมเมนต์ลิงก์บนโพสต์ตัวเองผ่าน API ทำไม่ได้ ถ้าแอปไม่ได้เป็น partner ของ LinkedIn (Marketing Developer Platform) สิทธิ์ w_member_social โพสต์ share ได้แต่คอมเมนต์ไม่ได้ (เจอ 403) ทางที่ง่ายสุดสำหรับคนทำเองคือใส่ลิงก์ไว้ในตัวแคปชั่นเลย ต่างจาก Facebook ที่คอมเมนต์บนเพจตัวเองได้ฟรี

ช่วงที่ 4ทำให้มันอัตโนมัติ และ 3 ด่านกันพัง

ขั้นสุดท้ายคือให้มันยิงเองตามเวลา ใช้เครื่องที่เปิดทั้งวันตั้ง cron แต่ตรงนี้แหละที่ด่านกันพังสำคัญกว่าตัวสคริปต์

ด่าน 1 อัตโนมัติที่เวลา ไม่ใช่ที่การตัดสินใจ

กับดักที่ดึงดูดสุดคือให้ AI เขียนแคปชั่นเองแล้วโพสต์เองรวดเดียว นั่นคือยกการตัดสินใจที่ถอนไม่ได้ให้เครื่อง เส้นที่เราขีดคือแยกสองอย่าง การตัดสินว่าข้อความนี้ควรขึ้นสาธารณะไหมเป็นของคน ส่วนยิงตอนสิบโมงเป็นของเครื่อง วิธีทำคือมีคิวที่อนุมัติแล้ว แคปชั่นที่ผ่านตาเราเข้าคิวเท่ากับอนุมัติ cron แค่หยิบอันถึงคิวไปยิง คนยังอยู่ในลูปเรื่องเนื้อหา เครื่องรับแค่จังหวะเวลา อีกรายละเอียดคือสองแพลตฟอร์มยิงคนละเวลาเพราะคนอ่านคนละโซน ตั้งเวลาผูกกับเขตเวลาผู้อ่าน ไม่ใช่เวลากลางแล้วคำนวณเอง เพราะบางประเทศปรับเวลาตามฤดู ตั้งตายตัวจะเพี้ยนปีละสองครั้งแบบเงียบ ให้ตัวตั้งเวลารู้จักเขตเวลาเอง

ด่าน 2 เชื่อของจริง ไม่ใช่เชื่อคำตอบของตัวเอง

ย้อนกลับไปที่ AI บอกว่าเสร็จทั้งที่ยังไม่เสร็จ ตอนยิงคำสั่ง แพลตฟอร์มตอบว่ารับแล้ว แต่คำตอบตอนยิงกับสิ่งที่ขึ้นจริงบนหน้าเพจคนละเรื่องกัน ด่านนี้บังคับขั้นเดียว หลังโพสต์ให้อ่านกลับมาจากแพลตฟอร์มอีกที เห็นข้อความจริงรูปจริงคอมเมนต์จริงค่อยนับว่าเสร็จ ไม่มีอะไรจริงเพราะระบบบอกว่าจริง มันจริงเมื่อชี้หลักฐานที่ดูได้

ด่าน 3 รั่วแล้วเปลี่ยนกุญแจ ไม่ใช่ลบประวัติ

token ที่ใช้โพสต์เป็นความลับ ระหว่างตั้งระบบ มันถูกเขียนลงไฟล์ในโฟลเดอร์ที่ซิงค์ขึ้นที่เก็บโค้ดอัตโนมัติ ไม่กี่นาทีก็ถูกบันทึกและอัปขึ้นไปทั้งที่ยังไม่ทันรู้ตัว บทเรียนสองครึ่ง ครึ่งแรกกันไว้ก่อน ก่อนเขียนความลับลงที่ไหนที่มีการซิงค์อัตโนมัติ สั่งให้ที่นั่นเมินไฟล์ความลับก่อน ยืนยันว่ากฎมีผลจริง แล้วค่อยเขียน ลำดับสลับไม่ได้ ครึ่งหลังเมื่อรั่วไปแล้ว ของลับที่หลุดขึ้นที่เก็บโค้ด ต่อให้ลบไฟล์ทีหลัง ค่าที่หลุดยังอยู่ในประวัติ ทางแก้จริงคือเปลี่ยนกุญแจ ยกเลิก token เดิมให้ใช้ไม่ได้แล้วออกใหม่ พิสูจน์ว่าตัวเก่าตายจริงด้วยการลองเรียกแล้วต้องถูกปฏิเสธ พอตัวเก่าใช้ไม่ได้ ค่าที่ค้างในประวัติก็เป็นขยะ ไม่ใช่ความเสี่ยงอีกต่อไป

สรุปให้เอาไปใช้

ตั้งค่าให้ยิงได้คือครึ่งเดียว อีกครึ่งคือสามด่าน

  1. อัตโนมัติที่เวลา ไม่ใช่ที่การตัดสินใจ งานที่ถอนไม่ได้ ให้คนคุมจุดอนุมัติ เครื่องคุมจังหวะ
  2. เชื่อของจริง อ่านผลกลับมาจากปลายทาง อย่าเชื่อแค่คำตอบตอนสั่ง
  3. รั่วแล้วเปลี่ยนกุญแจ กันด้วยลำดับที่ถูกก่อนเขียนความลับ พลาดแล้วหมุน token ไม่ใช่ลบประวัติ

ถ้าคุณกำลังจะให้ AI หรือสคริปต์ทำงานที่ส่งผลออกสาธารณะแทน เริ่มจากถามว่าอะไรคือจุดที่ถอนคืนไม่ได้ แล้ววางคนไว้ตรงนั้นจุดเดียว ที่เหลือให้เครื่องวิ่งเต็มที่ ระบบจะเร็วขึ้นโดยที่ยังคุมได้

ที่มาและอ้างอิง
ติดตาม

รับบทความใหม่และของฟรีก่อนใคร

ทิ้งอีเมลไว้ บทความใหม่และของฟรีเป็นครั้งคราวจะส่งไปให้ ไม่สแปม

ใช้อีเมลเพื่อส่งอัปเดตเท่านั้น

ความคิดเห็น

ร่วมพูดคุย

แบ่งปันความคิดเห็นได้เลย

ชื่อจะแสดงต่อสาธารณะ อีเมลเก็บเป็นความลับ ไม่แสดงที่ไหน

กำลังโหลดความคิดเห็น…