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

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

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

คุณจะต้องมีสิทธิ์การเข้าถึงสิ่งต่างๆ ต่อไปนี้

1. กำหนดค่าการเข้าสู่ระบบด้วย Facebook

เพิ่มผลิตภัณฑ์การเข้าสู่ระบบด้วย Facebook ไปยังแอพของคุณในแดชบอร์ดของแอพ

คุณสามารถปล่อยให้การตั้งค่าทั้งหมดเป็นค่าเริ่มต้นได้ หากคุณกำลังใช้การเข้าสู่ระบบด้วย Facebook ด้วยตนเองอยู่ (ซึ่งเราไม่แนะนำ) ให้ป้อน redirect_uri ของคุณในช่อง URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง หากคุณจะใช้ SDK ตัวใดตัวหนึ่งของเรา คุณสามารถเว้นช่องให้ว่างไว้ได้

2. นำการเข้าสู่ระบบด้วย Facebook มาใช้งาน

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

3. รับโทเค็นการเข้าถึงผู้ใช้

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

เมื่อคุณเรียกใช้กล่องรับค่าดังกล่าวแล้ว ให้คลิกตกลงเพื่อให้สิทธิ์การอนุญาต instagram_basic และ pages_show_list แก่แอพของคุณ

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

4. ดูเพจของผู้ใช้

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

5. ดูบัญชีธุรกิจบน Instagram ของเพจ

ใช้ 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

6. ดูอ็อบเจ็กต์สื่อของบัญชีธุรกิจบน 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 นั้นๆ