ฝังโพสต์บน Instagram

คุณสามารถสืบค้นตำแหน่งข้อมูล oEmbed ของ Instagram เพื่อรับ HTML สำหรับฝังและเมตาดาต้าพื้นฐานของโพสต์บน Instagram ได้ ทั้งนี้เพื่อแสดงโพสต์ดังกล่าวในอีกเว็บไซต์หรืออีกแอพหนึ่ง รองรับโพสต์ที่เป็นรูปภาพ, วิดีโอ, คลิป Reels และฟีด

ไปที่ศูนย์ช่วยเหลือของ Instagram เพื่อเรียนรู้วิธีรับรหัสแบบฝังจากโพสต์แบบสาธารณะหรือโปรไฟล์บน Instagram

การใช้งานทั่วไป

  • การฝังโพสต์ในบล็อก
  • การฝังโพสต์ในเว็บไซต์
  • เรนเดอร์โพสต์ในระบบจัดการเนื้อหา
  • เรนเดอร์โพสต์ในแอพส่งข้อความ

ข้อกำหนด

คู่มือนี้จะถือว่าคุณได้ลงทะเบียนเป็นผู้พัฒนา Meta และได้สร้างแอพ Meta ไว้แล้ว

คุณจำเป็นต้องมีสิ่งต่อไปนี้

ระดับสิทธิ์การเข้าถึง

โทเค็นการเข้าถึง

URL ฐาน

ตำแหน่งข้อมูลทั้งหมดสามารถเข้าถึงได้ผ่านโฮสต์ graph.facebook.com

ตำแหน่งข้อมูล

ฟีเจอร์

ข้อจำกัด

  • ตำแหน่งข้อมูล oEmbed ของ Instagram มีไว้ใช้สำหรับฝังเนื้อหาของ Instagram ในเว็บไซต์และแอพเท่านั้น โดยจะไม่ใช้เพื่อจุดประสงค์อื่นใด ห้ามไม่ให้มีการใช้เมตาดาต้าและเนื้อหาของเพจ โพสต์ หรือวิดีโอ (หรือแหล่งที่มาของรายการเหล่านั้น) เพื่อจุดประสงค์อื่นใดนอกเหนือไปจากการมอบมุมมองการแสดงผลแบบฟรอนท์เอนด์ของเพจ โพสต์ หรือวิดีโอโดยเด็ดขาด ข้อห้ามนี้จะรวมไปถึงการใช้ การจัดการ การดึง หรือการคงไว้ซึ่งเมตาดาต้าและเนื้อหา โดยรวมถึงแต่ไม่จำกัดเพียงการรับข้อมูลเกี่ยวกับเพจ โพสต์ และวิดีโอจากเมตาดาต้าเพื่อจุดประสงค์ในการวิเคราะห์
  • ระบบจะไม่รองรับโพสต์ที่อยู่บนบัญชี Instagram ส่วนตัวที่ไม่ได้ใช้งานและมีการจำกัดอายุ
  • ระบบจะไม่รองรับบัญชีที่ปิดใช้งาน Embeds
  • ระบบจะไม่รองรับสตอรี่
  • ระบบไม่รองรับ Shadow DOM

ขีดจำกัดอัตรา

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

ขีดจำกัดอัตราโทเค็นของแอพ

แอพที่ใช้โทเค็นการเข้าถึงแอพจะสามารถสร้างคำขอได้สูงสุดถึง 5 ล้านรายการต่อเวลา 24 ชั่วโมง

ขีดจำกัดอัตราโทเค็นของไคลเอ็นต์

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

รับ HTML แบบฝัง

คุณสามารถรับ HTML แบบฝังได้จากการเขียนโปรแกรมหรือในแอป Instagram app

หากต้องการรับ HTML สำหรับฝังของโพสต์บน Instagram จากการเขียนโปรแกรม ให้ส่งคำขอไปยัง

GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>

แทนที่ <URL_OF_THE_POST> ด้วย URL ของโพสต์บน Instagram ที่คุณต้องการสืบค้นและ โทเค็น<ACCESS_TOKEN> ด้วยโทเค็นการเข้าถึงแอพหรือไคลเอ็นต์ หรือการอนุญาตAuthorizationส่งมาให้เราในส่วนหัว HTTP

Authorization: Bearer <ACCESS_TOKEN>

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

เมื่อสำเร็จ API จะตอบกลับด้วยอ็อบเจ็กต์ JSON ที่มี HTML สำหรับฝังของโพสต์ดังกล่าวและข้อมูลเพิ่มเติม ระบบจะมอบหมาย HTML สำหรับฝังไปยังคุณสมบัติ html

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

ตัวอย่างคำขอ

curl -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."

curl -i -X GET \
     --header "Authorization: Bearer 96481..." \
     "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN"

ตัวอย่างการตอบกลับ

ค่าบางตัวอาจถูกย่อด้วยจุดไข่ปลา (...) เพื่อให้อ่านได้ง่าย

{
  "version": "1.0",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/",
  "type": "rich",
  "width": 658,
  "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
  "thumbnail_width": 640,
  "thumbnail_height": 640
}

รูปแบบ URL

พารามิเตอร์สตริงการสืบค้น url จะยอมรับรูปแบบ URL ดังต่อไปนี้:

https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/https://www.instagram.com/{username}/guide/{slug}/{guide_id}

JS สำหรับฝัง

HTML สำหรับฝังจะมีจุดอ้างอิงไปยังคลัง JavaScript embed.js ของ Instagram เมื่อคลังโหลด จะมีการสแกนเพจเพื่อหา HTML ของโพสต์ และสร้างโพสต์ที่ผ่านการเรนเดอร์อย่างสมบูรณ์ หากคุณต้องการโหลดคลังแยกต่างหาก ให้เพิ่มพารามิเตอร์สตริงการสืบค้น omitscript=true ไว้ในคำขอของคุณ หากต้องการเริ่มต้นการทำงานของ HTML แบบฝังด้วยตนเอง ให้เรียกใช้ฟังก์ชั่น instgrm.Embeds.process() หลังจากการโหลดคลัง

ขนาดของโพสต์

โพสต์แบบฝังนั้นจะตอบสนองต่อแวดล้อมและจะปรับขนาดให้เข้ากับคอนเทนเนอร์ ซึ่งหมายความว่าความสูงจะแปรผันตามความกว้างของคอนเทนเนอร์และความยาวของคำบรรยายภาพ คุณสามารถกำหนดความกว้างสูงสุดได้โดยการใส่พารามิเตอร์สตริงการสืบค้น maxwidth ไว้ในคำขอของคุณ

รับภาพขนาดย่อ

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

หากต้องการรับ URL ภาพขนาดย่อของโพสต์และข้อมูลการระบุที่มา ให้ส่งคำขอไปยัง

GET /instagram_oembed
  ?url=<URL_OF_THE_POST>
  &maxwidth=<MAX_WIDTH>
  &fields=thumbnail_url,author_name,provider_name,provider_url
  &access_token=<ACCESS_TOKEN>

แทนที่ <URL_OF_THE_POST> ด้วย URL ของโพสต์บน Instagram ที่คุณต้องการสืบค้น รวมถึง <MAX_WIDTH> ขนาดใหญ่ที่สุดของภาพขนาดย่อที่คุณต้องการเรนเดอร์ และ <ACCESS_TOKEN> พร้อมโทเค็นการเข้าถึงแอพหรือไคลเอ็นต์

ตัวอย่างคำขอ

curl -i -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."

ตัวอย่างการตอบกลับ

ค่าบางตัวอาจถูกย่อด้วยจุดไข่ปลา (...) เพื่อให้อ่านได้ง่าย

{
  "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/"
}

การส่งคำขอตรวจสอบแอพ

เมื่อคุณส่งแอพเข้ารับการตรวจสอบ ในช่องแบบฟอร์มบอกเราว่าทำไมคุณจึงขอฟีเจอร์การอ่านของ Oembed > โปรดระบุ URL ที่เราสามารถทดสอบฟีเจอร์การอ่านของ Oembed ให้ใช้ตำแหน่งข้อมูล oEmbed ของ Instagram เพื่อรับ HTML แบบฝังสำหรับโพสต์สาธารณะบนเพจ Facebook หรือIเพจ nstagramอย่างเป็นทางการของเรา จากนั้นให้เพิ่ม HTML แบบฝังที่ได้รับมาไปยังจุดที่คุณต้องการแสดงเนื้อหา oEmbed และป้อน URL ของเพจนั้นลงในช่องแบบฟอร์ม

เมื่อคุณได้รับการอนุมัติให้ใช้ฟีเจอร์ oEmbed Read แล้ว คุณจะสามารถฝังเพจ โพสต์ หรือวิดีโอของคุณเองโดยใช้ URL ของรายการนั้นๆ ได้