n8n Thai
by n8n Thai

n8n x Instagram: โพสต์และเก็บข้อมูลอัตโนมัติ

คู่มือเชื่อม n8n กับ Instagram ผ่าน Meta Graph API โพสต์รูป Reels และ Story อัตโนมัติ ดึง Insights และ Monitor comments สำหรับ Business Account

n8n x Instagram: โพสต์และเก็บข้อมูลอัตโนมัติ

Instagram automation ต้องการ Instagram Business Account หรือ Creator Account เท่านั้น Personal Account ไม่สามารถใช้ API ได้ ถ้า account ยังเป็น Personal ให้ switch ที่ account settings ก่อน ขั้นตอนนี้ฟรีและทำได้ใน 2 นาที

เมื่อมี Business Account แล้ว ทุกอย่างทำงานผ่าน Meta Graph API เดียวกันกับ Facebook ซึ่งหมายความว่าถ้าตั้งค่า Facebook Page automation ไว้แล้ว สามารถต่อยอด Instagram ได้โดยแทบไม่ต้องตั้งค่าใหม่ เพียงแต่ต้องเชื่อม Instagram Account กับ Facebook Page ก่อน

สิ่งที่ต้องเตรียม

  • Instagram Business Account หรือ Creator Account
  • Facebook Page ที่เชื่อมกับ Instagram Account
  • Meta Developer App (ใช้อันเดียวกับ Facebook ได้เลย)
  • Page Access Token ที่มี Instagram permissions

ขั้นตอนที่ 1: เชื่อม Instagram กับ Facebook Page

  1. ไปที่ Instagram Settings → Account → Linked Accounts
  2. เลือก Facebook แล้วเชื่อมกับ Page ที่ต้องการ
  3. ตรวจสอบที่ Facebook Page Settings → Instagram ว่าเชื่อมแล้ว

ขั้นตอนที่ 2: ดึง Instagram Business Account ID

GET https://graph.facebook.com/v18.0/{page-id}
?fields=instagram_business_account
&access_token={page_access_token}

Response มี id ของ Instagram Business Account ที่ต้องใช้ใน request ต่อไป บันทึกไว้เป็น constant ใน workflow

ขั้นตอนที่ 3: เพิ่ม Instagram Permissions

ใน Meta Developer App เพิ่ม permissions เหล่านี้

Permissionใช้สำหรับ
instagram_basicอ่านข้อมูล account พื้นฐาน
instagram_content_publishโพสต์รูปและวิดีโอ
instagram_manage_commentsอ่านและตอบ comment
instagram_manage_insightsดึง account insights

Workflow 1: โพสต์รูปอัตโนมัติ

การโพสต์รูปใน Instagram API ต้องทำสองขั้นตอนเสมอ ก่อนอื่นสร้าง media container แล้วจึง publish

Step 1: สร้าง Media Container

POST https://graph.facebook.com/v18.0/{ig-user-id}/media
Body:
{
  "image_url": "{{ $json.image_url }}",
  "caption": "{{ $json.caption }}",
  "access_token": "{page_access_token}"
}

Response ส่งกลับมา id ซึ่งคือ container ID

Step 2: Publish Container

POST https://graph.facebook.com/v18.0/{ig-user-id}/media_publish
Body:
{
  "creation_id": "{{ $json.id }}",
  "access_token": "{page_access_token}"
}

หลัง publish สำเร็จ ได้รับ id ของโพสต์จริงใน Instagram

โครงสร้าง workflow เต็ม:

  1. Schedule Trigger — รันทุก 30 นาที
  2. Google Sheets — ดึงโพสต์ที่ status = pending
  3. IF — มีโพสต์ที่รอ publish หรือเปล่า
  4. HTTP Request — สร้าง media container
  5. Wait — รอ 30 วินาที (ให้ระบบ Meta process รูป)
  6. HTTP Request — Publish container
  7. Google Sheets — อัปเดต status และบันทึก post ID

ขั้นตอน Wait สำคัญมาก อย่าข้ามไป บาง workflow ที่ไม่รอแล้ว publish ทันที response จะ error เพราะรูปยังไม่ ready

Workflow 2: โพสต์ Reels อัตโนมัติ

Reels ใช้กระบวนการเดียวกันกับรูปภาพแต่เพิ่ม parameter media_type: REELS

Step 1: สร้าง Reels Container

POST https://graph.facebook.com/v18.0/{ig-user-id}/media
Body:
{
  "media_type": "REELS",
  "video_url": "{{ $json.video_url }}",
  "caption": "{{ $json.caption }}",
  "share_to_feed": true,
  "access_token": "{page_access_token}"
}

ข้อกำหนดวิดีโอสำหรับ Reels:

  • Format: MP4 หรือ MOV
  • ขนาดไฟล์: ไม่เกิน 1GB
  • ความยาว: 3 วินาที ถึง 15 นาที
  • Aspect ratio: 9:16 (vertical)
  • Resolution: ขั้นต่ำ 720p

หลังสร้าง container แล้ว ต้องรอให้วิดีโอ upload สำเร็จก่อน publish ตรวจสอบด้วย

GET https://graph.facebook.com/v18.0/{container-id}
?fields=status_code

รอจนกว่า status_code เป็น “FINISHED” จึง publish ได้

Workflow 3: ดึง Account Insights รายวัน

GET https://graph.facebook.com/v18.0/{ig-user-id}/insights
?metric=accounts_engaged,follower_count,impressions,
         profile_views,reach,total_interactions
&period=day
&since={yesterday_unix}
&until={today_unix}

Metrics ที่ควรเก็บเพิ่มเติม สำหรับวัด content performance

GET https://graph.facebook.com/v18.0/{ig-user-id}/media
?fields=id,timestamp,like_count,comments_count,
        impressions,reach,engagement,saved,video_views
&limit=20

บันทึกข้อมูลนี้ทุกวันใน Google Sheets เพื่อดู trend ว่าโพสต์ประเภทไหน perform ดีที่สุด

Instagram Carousel ต้องสร้าง container สำหรับแต่ละรูปก่อน แล้วจึงสร้าง carousel container รวม

// สร้าง item container แต่ละรูป (ทำซ้ำตามจำนวนรูป)
POST /{ig-user-id}/media
{
  "image_url": "{url_รูปแต่ละใบ}",
  "is_carousel_item": true
}

// สร้าง carousel container รวม
POST /{ig-user-id}/media
{
  "media_type": "CAROUSEL",
  "children": ["id1", "id2", "id3"],
  "caption": "{caption}"
}

// Publish
POST /{ig-user-id}/media_publish
{
  "creation_id": "{carousel_container_id}"
}

Hashtag Strategy อัตโนมัติ

สามารถใช้ AI node ช่วยสร้าง hashtag ตามเนื้อหาโพสต์ได้ เพิ่ม node ระหว่างขั้นตอนอ่านข้อมูลจาก Google Sheets กับการโพสต์

// OpenAI node prompt
Generate 20 relevant Instagram hashtags for this content in Thai market.
Mix of popular (#xxxxxx 1M+ posts) and niche hashtags (#xxxx 10K-100K posts).
Content: {{ $json.caption }}
Return as comma-separated list only, no explanations.

นำ output มา append ต่อท้าย caption ก่อนส่ง API

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts