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.

Visit our News for Developers blog post to learn more.

เริ่มต้นใช้งาน

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

บทแนะนำการใช้งานนี้ถือว่าคุณสามารถส่งคำขอ cURL เบื้องต้นด้วยเครื่องมือบรรทัดคำสั่งหรือแอพ เช่น Postman ได้

ก่อนเริ่มต้น

คุณจะต้องดำเนินการดังต่อไปนี้

  • บัญชี Instagram ที่มีสื่อ
  • เว็บไซต์สาธารณะที่คุณเป็นเจ้าของ โดยอาจเป็นเว็บไซต์ฟรีทั่วไปอย่างหน้า Github หรือเว็บแอพ Heroku หรือเว็บไซต์จริงๆ ของคุณก็ได้
  • เครื่องมือบรรทัดคำสั่ง เช่น Terminal หรือแอพอย่าง Postman ที่สามารถส่งคำขอ cURL ได้

ขั้นตอนที่ 1: สร้างแอพ Facebook

ไปที่ developers.facebook.com คลิกแอพของฉัน และสร้างแอพใหม่ จากนั้นเลือกประเภทแอพเป็นผู้บริโภคหรือไม่มี

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

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

ขั้นตอนที่ 2: กำหนดค่า Instagram Basic Display

คลิกผลิตภัณฑ์ หาผลิตภัณฑ์ Instagram Basic Display และคลิกที่ตั้งค่าเพื่อเพิ่มลงในแอพของคุณ

เลื่อนไปที่ด้านล่างของหน้า และคลิกสร้างแอพใหม่

ในแบบฟอร์มที่ปรากฏ ให้กรอกข้อมูลในแต่ละส่วนโดยใช้แนวทางด้านล่าง

ชื่อที่แสดง

ป้อนชื่อของแอพ Facebook ที่เพิ่งสร้าง

URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง

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

ตัวอย่างเช่น: https://socialsizzle.heroku.com/auth/

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

URL การเรียกกลับเพื่อเลิกให้อนุญาต

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

URL การเรียกกลับคำขอให้ลบข้อมูล

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

การตรวจสอบแอพ

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

ขั้นตอนที่ 3: เพิ่มผู้ใช้ขั้นทดสอบบน Instagram

ไปที่บทบาท > บทบาท และเลื่อนลงมาที่ส่วน "ผู้ทดสอบ Instagram" คลิกเพิ่มผู้ทดสอบ Instagram และป้อนชื่อผู้ใช้สำหรับบัญชี Instagram ของคุณ จากนั้นให้ส่งคำเชิญ

เปิดเว็บเบราว์เซอร์ใหม่ขึ้นมา และไปที่ www.instagram.com จากนั้นให้ลงชื่อเข้าใช้บัญชี Instagram ที่คุณเพิ่งส่งคำเชิญไป ไปที่ (ไอคอนโปรไฟล์) > แก้ไขโปรไฟล์ > แอพและเว็บไซต์ > คำเชิญของผู้ทดสอบ และยอมรับคำเชิญ

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

ขั้นตอนที่ 4: ยืนยันตัวตนผู้ใช้ขั้นทดสอบ

สร้าง 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 ชั่วโมงเท่านั้น

ขั้นตอนที่ 5: แลกเปลี่ยนรหัสเป็นโทเค็น

เปิดเครื่องมือบรรทัดคำสั่งหรือแอพของคุณที่รองรับคำขอ 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 ผู้ใช้เพื่อให้คุณสามารถนำไปใช้ได้ในขั้นตอนถัดไป

ขั้นตอนที่ 6: สืบค้นโหนดผู้ใช้

ใช้เครื่องมือบรรทัดคำสั่งหรือแอพและคำขอ 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 นี้