On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.
Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.
บทแนะนำการใช้งานนี้จะแสดงให้คุณเห็นวิธีกำหนดค่าแอพในแดชบอร์ดของแอพ เรียกดูโทเค็นการเข้าถึงผู้ใช้ Instagram แบบระยะสั้น แล้วใช้โทเค็นดังกล่าวเพื่อสืบค้น API สำหรับโปรไฟล์ของผู้ใช้ Instagram เมื่อดูบทแนะนำการใช้งานนี้จนจบแล้ว คุณจะมีความเข้าใจเบื้องต้นเกี่ยวกับวิธีเรียกดูโทเค็นการเข้าถึงและสิทธิ์การอนุญาตต่างๆ จากผู้ใช้แอพของคุณ รวมถึงวิธีดำเนินการสืบค้นเบื้องต้นด้วย API
บทแนะนำการใช้งานนี้ถือว่าคุณสามารถส่งคำขอ cURL เบื้องต้นด้วยเครื่องมือบรรทัดคำสั่งหรือแอพ เช่น Postman ได้
คุณจะต้องดำเนินการดังต่อไปนี้
ไปที่ developers.facebook.com คลิกแอพของฉัน และสร้างแอพใหม่ จากนั้นเลือกประเภทแอพเป็นผู้บริโภคหรือไม่มี
เมื่อคุณสร้างแอพแล้วและอยู่ในแดชบอร์ดของแอพ ให้ไปที่การตั้งค่า > พื้นฐาน จากนั้นเลือกไปที่ด้านล่างของหน้าและคลิกเพิ่มแพลตฟอร์ม
เลือกเว็บไซต์ เพิ่ม URL ของเว็บไซต์ของคุณ และบันทึกการเปลี่ยนแปลง คุณสามารถเปลี่ยนแพลตฟอร์มในภายหลังได้หากต้องการ แต่ให้ใช้เว็บไซต์สำหรับบทแนะนำการใช้งานนี้
คลิกผลิตภัณฑ์ หาผลิตภัณฑ์ Instagram Basic Display และคลิกที่ตั้งค่าเพื่อเพิ่มลงในแอพของคุณ
เลื่อนไปที่ด้านล่างของหน้า และคลิกสร้างแอพใหม่
ในแบบฟอร์มที่ปรากฏ ให้กรอกข้อมูลในแต่ละส่วนโดยใช้แนวทางด้านล่าง
ป้อนชื่อของแอพ Facebook ที่เพิ่งสร้าง
ป้อน URL เว็บไซต์ของคุณ โดยปกติแล้วนี่จะเป็น URI เฉพาะซึ่งสามารถบันทึกพารามิเตอร์สตริงการค้นหาการเปลี่ยนเส้นทางได้ แต่ในบทแนะนำการใช้งานนี้จะอนุญาตให้ใช้ URL เว็บไซต์ของคุณได้
ตัวอย่างเช่น: https://socialsizzle.heroku.com/auth/
หลังจากที่ป้อน URL ให้บันทึกการเปลี่ยนแปลงและตรวจสอบ URL อีกครั้ง เราอาจเพิ่มเครื่องหมายทับ (/) ตามหลังเข้ามาด้วยโดยขึ้นอยู่กับโครงสร้าง URL ของคุณ คัดลอก URL ที่สมบูรณ์เก็บไว้ในที่หนึ่ง เนื่องจากคุณจะต้องใช้ URL นี้ในขั้นตอนถัดไปเพื่อรับรหัสการให้อนุญาตและโทเค็นการเข้าถึง
ป้อน URL เว็บไซต์ของคุณอีกครั้ง คุณจะเปลี่ยนส่วนนี้เป็น URL ที่สามารถจัดการกับการแจ้งเตือนการเลิกให้อนุญาตได้ในท้ายที่สุด แต่สำหรับบทแนะนำการใช้งานนี้ คุณสามารถนำ URL ของเว็บไซต์มาใช้ซ้ำได้
ป้อน URL เว็บไซต์ของคุณอีกครั้ง คุณจะเปลี่ยนส่วนนี้เป็น URL ที่สามารถจัดการกับคำขอให้ลบข้อมูลได้ในท้ายที่สุดเหมือนกับ URL การเรียกกลับเพื่อเลิกให้อนุญาต แต่คุณสามารถนำ URL เว็บไซต์มาใช้ซ้ำไปก่อนได้
ข้ามส่วนนี้ไปก่อน เนื่องจากคุณจะไม่สลับแอพมาเป็นโหมดเผยแพร่ในระหว่างทำตามบทแนะนำการใช้งานนี้
ไปที่บทบาท > บทบาท และเลื่อนลงมาที่ส่วน "ผู้ทดสอบ Instagram" คลิกเพิ่มผู้ทดสอบ Instagram และป้อนชื่อผู้ใช้สำหรับบัญชี Instagram ของคุณ จากนั้นให้ส่งคำเชิญ
เปิดเว็บเบราว์เซอร์ใหม่ขึ้นมา และไปที่ www.instagram.com จากนั้นให้ลงชื่อเข้าใช้บัญชี Instagram ที่คุณเพิ่งส่งคำเชิญไป ไปที่ (ไอคอนโปรไฟล์) > แก้ไขโปรไฟล์ > แอพและเว็บไซต์ > คำเชิญของผู้ทดสอบ และยอมรับคำเชิญ
ในตอนนี้ บัญชี Instagram ของคุณจะมีสิทธิ์ให้แอพ Facebook เข้าถึงได้แล้วขณะที่แอพอยู่ในโหมดการพัฒนา
สร้าง URL หน้าต่างการอนุญาตด้านล่าง โดยแทนที่ {app-id}
ด้วย ID ของแอพ Instagram (จากแดชบอร์ดของแอพ > ผลิตภัณฑ์ > Instagram > Basic Display > ช่อง ID แอพ Instagram) และแทนที่ {redirect-uri}
ด้วย URL เว็บไซต์ของคุณที่ระบุไว้ในขั้นตอนที่ 2 ("URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง") โดย URL จะต้องเป็น URL เดียวกันเลย
https://api.instagram.com/oauth/authorize ?client_id={app-id} &redirect_uri={redirect-uri} &scope=user_profile,user_media &response_type=code
ตัวอย่างเช่น:
https://api.instagram.com/oauth/authorize ?client_id=684477648739411 &redirect_uri=https://socialsizzle.herokuapp.com/auth/ &scope=user_profile,user_media &response_type=code
เปิดหน้าต่างเบราว์เซอร์ใหม่แล้วโหลด URL หน้าต่างการอนุญาต ซึ่งควรปรากฏและแสดงชื่อของผู้ใช้ Instagram ชื่อแอพ และคำอธิบายสิทธิ์การอนุญาตที่แอพของคุณกำลังส่งคำขอ
ยืนยันตัวตนผู้ใช้ขั้นทดสอบบน Instagram โดยการลงชื่อเข้าใช้หน้าต่างการอนุญาต จากนั้นคลิกอนุญาตเพื่อให้แอพของคุณมีสิทธิ์การเข้าถึงข้อมูลโปรไฟล์ของคุณ เมื่อดำเนินการสำเร็จ หน้าจะเปลี่ยนเส้นทางคุณไปยัง URI การเปลี่ยนเส้นทางที่คุณระบุไว้ในขั้นตอนก่อนหน้านี้และนำรหัสการให้อนุญาตไปต่อท้าย ตัวอย่างเช่น:
https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_
โปรดทราบว่าระบบจะนำ #_
ไปต่อท้าย URI การเปลี่ยนเส้นทาง แต่ไม่ได้เป็นส่วนหนึ่งของรหัสนั้นๆ ให้คัดลอกรหัสนั้นเอาไว้ (โดยไม่รวม #_ portion
) เพื่อให้คุณนำไปใช้ในขั้นตอนถัดไปได้
รหัสการให้อนุญาตเป็นแบบระยะสั้นและใช้ได้เพียง 1 ชั่วโมงเท่านั้น
เปิดเครื่องมือบรรทัดคำสั่งหรือแอพของคุณที่รองรับคำขอ cURL และส่งคำขอ POST
ต่อไปนี้ไปยัง API
curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id={app-id} \ -F client_secret={app-secret} \ -F grant_type=authorization_code \ -F redirect_uri={redirect-uri} \ -F code={code}
แทนที่ {app-id}
, {app-secret}
, {redirect-uri}
และ {code}
ด้วย ID แอพ Instagram, ข้อมูลลับของแอพ Instagram, URI การเปลี่ยนเส้นทาง และรหัสที่เราส่งให้คุณ ตรวจสอบว่า URI การเปลี่ยนเส้นทางของคุณเหมือนกับ URI ที่คุณระบุไว้ในขั้นตอนก่อนหน้านี้ทุกประการ รวมถึงเครื่องหมายทับ (/) ตามหลังหากแดชบอร์ดของแอพเพิ่มเครื่องหมายในตอนที่คุณกำหนดแอพ Instagram ของคุณ
ตัวอย่างเช่น:
curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id=684477648739411 \ -F client_secret=eb8c7... \ -F grant_type=authorization_code \ -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \ -F code=AQDp3TtBQQ...
เมื่อดำเนินการสำเร็จ API จะส่งคืนอ็อบเจ็กต์ที่เข้ารหัส JSON เอาไว้ ซึ่งมีโทเค็นการเข้าถึงผู้ใช้ Instagram แบบระยะสั้นที่มีอายุ 1 ชั่วโมงและ ID ของผู้ใช้ขั้นทดสอบบน Instagram ของคุณ
{ "access_token": "IGQVJ...", "user_id": 17841405793187218 }
คัดลอกโทเค็นการเข้าถึงและ ID ผู้ใช้เพื่อให้คุณสามารถนำไปใช้ได้ในขั้นตอนถัดไป
ใช้เครื่องมือบรรทัดคำสั่งหรือแอพและคำขอ cURL ด้านล่าง เพื่อสืบค้นโหนดผู้ใช้สำหรับ ID และชื่อผู้ใช้ของผู้ใช้ ให้แทนที่ {user-id}
และ {access-token}
ด้วย ID และโทเค็นการเข้าถึงที่คุณได้รับจากขั้นตอนก่อนหน้านี้
curl -X GET \ 'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'
ตัวอย่างเช่น:
curl -X GET \ 'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'
ในอีกทางหนึ่ง คุณสามารถสืบค้นโหนดฉันได้ ซึ่งจะตรวจสอบโทเค็นของคุณ กำหนด ID ของผู้ใช้ Instagram ที่มอบโทเค็น และสืบค้นผู้ใช้รายนั้น ตัวอย่างเช่น:
curl -X GET \ 'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'
เมื่อสำเร็จ API จะตอบกลับด้วย ID และชื่อผู้ใช้ของผู้ใช้ Instagram
{ "id": "17841405793187218", "username": "jayposiris" }
ตอนนี้คุณก็ทราบวิธีเรียกดูโทเค็นและดำเนินการสืบค้นเบื้องต้นแล้ว โปรดอ่านคู่มือของเราเพื่อเรียนรู้เพิ่มเติมว่าคุณสามารถทำอะไรได้บ้างโดยใช้ API นี้