เอกสารฉบับนี้จะอธิบายวิธีเรียกใช้ API กราฟของ Instagram โดยใช้แอพและรับอ็อบเจ็กต์สื่อของบัญชีธุรกิจหรือบัญชีครีเอเตอร์บน Instagram ให้สำเร็จ เอกสารฉบับนี้เหมาะสำหรับผู้ที่คุ้นเคยกับ API กราฟและการเข้าสู่ระบบด้วย Facebook รวมถึงทราบวิธีการเรียกใช้ REST API หากคุณยังไม่มีแอพ คุณสามารถใช้ Graph API Explorer แทน แล้วข้ามขั้นตอนที่ 1 และ 2 ได้
คุณจะต้องมีสิทธิ์การเข้าถึงสิ่งต่างๆ ต่อไปนี้
เพิ่มผลิตภัณฑ์การเข้าสู่ระบบด้วย Facebook ไปยังแอพของคุณในแดชบอร์ดของแอพ
คุณสามารถปล่อยให้การตั้งค่าทั้งหมดเป็นค่าเริ่มต้นได้ หากคุณกำลังใช้การเข้าสู่ระบบด้วย Facebook ด้วยตนเองอยู่ (ซึ่งเราไม่แนะนำ) ให้ป้อน redirect_uri
ของคุณในช่อง URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง หากคุณจะใช้ SDK ตัวใดตัวหนึ่งของเรา คุณสามารถเว้นช่องให้ว่างไว้ได้
ปฏิบัติตามเอกสารประกอบเกี่ยวกับการเข้าสู่ระบบด้วย Facebook ของเราสำหรับแพลตฟอร์มของคุณ และใช้การเข้าสู่ระบบด้วย Facebook กับแอพของคุณ ตั้งค่าการใช้งานของคุณเพื่อส่งคำขอสิทธิ์การอนุญาตดังต่อไปนี้
เมื่อคุณนำการเข้าสู่ระบบด้วย Facebook มาใช้งานแล้ว ให้ตรวจสอบให้แน่ใจว่าคุณลงชื่อเข้าใช้บัญชีผู้พัฒนา Facebook จากนั้นให้เข้าใช้แอพของคุณและเรียกใช้กล่องรับค่าการเข้าสู่ระบบด้วย Facebook โปรดอย่าลืมว่าบัญชีผู้พัฒนา Facebook ของคุณต้องสามารถดำเนินงานในเพจ Facebook ที่เชื่อมต่อกับบัญชี Instagram ที่คุณต้องการสืบค้นได้
เมื่อคุณเรียกใช้กล่องรับค่าดังกล่าวแล้ว ให้คลิกตกลงเพื่อให้สิทธิ์การอนุญาต instagram_basic
และ pages_show_list
แก่แอพของคุณ
API ควรจะส่งคืนโทเค็นการเข้าถึงผู้ใช้ ให้เก็บบันทึกโทเค็นดังกล่าวไว้ เพื่อที่แอพของคุณจะสามารถใช้โทเค็นนั้นเพื่อทำการสืบค้นในสองสามครั้งถัดไปได้ หากคุณใช้ Graph API Explorer อยู่ ระบบจะเก็บบันทึกโทเค็นไว้โดยอัตโนมัติและจะแสดงโทเค็นนั้นในช่องโทเค็นการเข้าถึงเพื่อใช้อ้างอิงดังนี้
สืบค้นตำแหน่งข้อมูล GET /me/accounts
(ซึ่งจะแปลเป็น GET /{user-id}/accounts
โดยดำเนินการ GET
บนโหนดผู้ใช้ Facebook ตามโทเค็นการเข้าถึงของคุณ)
curl -i -X GET \
"https://graph.facebook.com/v19.0
/me/accounts?access_token={access-token}"
การดำเนินการนี้ควรจะส่งคืนคอลเลกชั่นเพจ Facebook ที่ผู้ใช้ Facebook ปัจจุบันสามารถดำเนินงาน MANAGE
, CREATE_CONTENT
, MODERATE
หรือ ADVERTISE
ในเพจได้ดังนี้
{ "data": [ { "access_token": "EAAJjmJ...", "category": "App Page", "category_list": [ { "id": "2301", "name": "App Page" } ], "name": "Metricsaurus", "id": "134895793791914", // capture the Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ] }
ดึงข้อมูล ID ของเพจ Facebook ที่เชื่อมต่อกับบัญชี Instagram ที่คุณต้องการสืบค้น โปรดทราบว่าผู้ใช้แอพของคุณอาจดำเนินงานในหลายๆ เพจได้ ดังนั้นในท้ายที่สุด คุณจะต้องสร้างตรรกะที่ช่วยระบุ ID เพจที่จะดึงข้อมูลที่ถูกต้องได้ (หรือสร้าง UI ที่ผู้ใช้แอพของคุณสามารถระบุเพจที่ถูกต้องสำหรับคุณได้)
ใช้ ID เพจที่คุณเก็บบันทึกไว้ในการสืบค้นตำแหน่งข้อมูล GET /{page-id}?fields=instagram_business_account
ดังนี้
curl -i -X GET \
"https://graph.facebook.com/v19.0
/134895793791914?fields=instagram_business_account&access_token={access-token}"
การดำเนินการนี้ควรจะส่งคืนผู้ใช้ Instagram ที่เชื่อมต่อกับเพจ Facebook ไม่ว่าจะเป็นบัญชีธุรกิจหรือบัญชีครีเอเตอร์บน Instagram
{ "instagram_business_account": { "id": "17841405822304914" // Connected IG User ID }, "id": "134895793791914" // Facebook Page ID }
เก็บบันทึก ID ผู้ใช้ Instagram
ใช้ ID ผู้ใช้ Instagram ที่คุณเก็บบันทึกไว้ในการสืบค้นตำแหน่งข้อมูล GET /{ig-user-id}/media
ดังนี้
curl -i -X GET \
"https://graph.facebook.com/v19.0
/17841405822304914/media?access_token={access-token}"
การดำเนินการนี้ควรจะส่งคืน ID ของอ็อบเจ็กต์สื่อบน Instagram ทั้งหมดของผู้ใช้ Instagram ดังนี้
{ "data": [ { "id": "17918195224117851" }, { "id": "17895695668004550" }, { "id": "17899305451014820" }, { "id": "17896450804038745" }, { "id": "17881042411086627" }, { "id": "17869102915168123" } ], "paging": { "cursors": { "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13", "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3" } } }
หากคุณสามารถดำเนินการสืบค้นขั้นสุดท้ายนี้ได้สำเร็จ คุณน่าจะสามารถดำเนินการสืบค้นโดยใช้ตำแหน่งข้อมูล API กราฟของ Instagram ใดก็ได้ โดยคุณสามารถดูคำแนะนำและข้อมูลอ้างอิงต่างๆ ของเราเพื่อเรียนรู้ว่าตำแหน่งข้อมูลแต่ละรายการสามารถทำอะไรได้บ้างและต้องได้รับสิทธิ์การอนุญาตใดบ้าง
เมื่อแอพของคุณอยู่ในโหมดเผยแพร่แล้ว ผู้ใช้ Facebook ใดก็ตามที่คุณกำหนดให้ใช้งานแอพของคุณได้ จะสามารถเข้าถึงข้อมูลของบัญชีธุรกิจหรือบัญชีครีเอเตอร์บน Instagram ได้ ตราบใดที่ผู้ใช้มีบัญชีผู้ใช้ Facebook ที่สามารถดำเนินงานในเพจที่เชื่อมต่อกับบัญชีธุรกิจหรือบัญชีครีเอเตอร์บน Instagram นั้นๆ