จัดการเพจ

เอกสารนี้จะแสดงวิธีดำเนินงานต่อไปนี้สำหรับเพจ Facebook:

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

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

คู่มือนี้จะถือว่าคุณได้อ่านภาพรวมของ API เพจแล้ว

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

  • pages_manage_engagement
  • pages_manage_metadata
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • pages_show_list
  • สิทธิ์ publish_video หากคุณกำลังเผยแพร่วิดีโอไปยังเพจ

หากใช้ผู้ใช้ระบบธุรกิจในคำขอ API ของคุณ จำเป็นต้องมีสิทธิ์ business_management

ผู้ใช้แอพของคุณต้องสามารถดำเนินงาน CREATE_CONTENT, MANAGE และ MODERATE บนเพจในคำขอ API

หลักปฏิบัติที่ดีที่สุด

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

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

เพจ งาน และโทเค็น

การเรียกใช้ API เพียงครั้งเดียวสามารถให้ข้อมูลต่างๆ มากมายเกี่ยวกับเพจที่คุณสามารถดำเนินงานได้

เรียกดูเพจของคุณ

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

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

curl -i -X GET 
     "https://graph.facebook.com/user_id/accounts"

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON พร้อมด้วยอาร์เรย์ของอ็อบเจ็กต์เพจ อ็อบเจ็กต์เพจแต่ละรายการจะประกอบด้วย:

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

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

{
  "data": [
    {
      "access_token": "{facebook-for-developers-page-access-token}",
      "category": "Internet Company",
      "category_list": [
        {
          "id": "2256",
          "name": "Internet Company"
        }
      ],
      "name": "Facebook for Developers",
      "id": "{facebook-for-developers-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT"
      ]
    },
    {
      "access_token": "{my-outlandish-stories-page-access-token}",
      "category": "Blogger",
      "category_list": [
        {
          "id": "361282040719868",
          "name": "Blogger"
        }
      ],
      "name": "My Outlandish Stories",
      "id": "{my-outlandish-stories-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ]
}

เรียกดูงานสำหรับผู้อื่น

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

หากต้องการเรียกดูรายชื่อบุคคลและงานที่พวกเขาสามารถทำได้บนเพจ ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /page_id/roles

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

curl -i -X GET "https://graph.facebook.com/page_id/roles"

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON พร้อมด้วยชื่อของบุคคลนั้น, ID ในเพจ และงานที่แต่ละคนสามารถทำได้บนเพจ

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

{
  "data": [
    {
      "name": "Person One",
      "id": "page_scoped_id_for_one"
        "tasks": [
          "ANALYZE"
        ]
    },
    {
      "name": "Person Two",
      "id": "page_scoped_id_for_two",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ],
}

รายละเอียดของเพจ

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

เรียกดูรายละเอียด

หากต้องการเรียกดูรายละเอียดเกี่ยวกับเพจ ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /page_id พร้อมตั้งค่าพารามิเตอร์ fields เป็นรายละเอียดของเพจที่คุณต้องการดู

หมายเหตุ: คุณสามารถใช้ตำแหน่งข้อมูล /pages/search เพื่อค้นหา ID เพจเมื่อใช้ฟีเจอร์การเข้าถึงเนื้อหาแบบสาธารณะของเพจ

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

curl -i -X GET "https://graph.facebook.com/page_id \
     ?fields=about,attire,bio,location,parking,hours,emails,website"

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

อัพเดตรายละเอียด

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

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

curl -i -X POST "https://graph.facebook.com/v21.0/page_id" \
     -H "Content-Type: application/json" \
     -d '{
           "about":"This is an awesome cafe located downtown!",
         }'

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON โดยที่ตั้งค่า success เป็น true

Meta ได้เสนอการเปลี่ยนแปลง

ในบางครั้งคราว Meta จะเสนอการเปลี่ยนแปลงรายละเอียดในเพจของคุณ เช่น การแก้ไขการพิมพ์ผิด หรือการอัพเดตหมวดหมู่บนเพจของคุณ เพื่อช่วยให้ผู้คนค้นหาเพจของคุณได้ดียิ่งขึ้น หากต้องการรับการแจ้งเตือนเหล่านี้ คุณต้องสมัครรับข้อมูลจาก page_upcoming_change และ/หรือ Webhook page_change_proposal

เมื่อได้รับการแจ้งเตือนแล้ว คุณสามารถดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้

  • ไม่ต้องดำเนินการใดๆ และการเปลี่ยนแปลงจะมีผลตามเวลาที่กำหนดไว้ในการแจ้งเตือน
  • ยอมรับการเปลี่ยนแปลงในเชิงรุก และการเปลี่ยนแปลงจะมีผลทันที
  • ปฏิเสธการเปลี่ยนแปลงในเชิงรุก และจะไม่มีการเปลี่ยนแปลงใดๆ

ยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่เสนอ

หากต้องการยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่เสนอในเชิงรุก ให้ส่งคำขอ POST ไปยังตำแหน่งข้อมูล /page_change_proposal_id โดยตั้งค่าช่อง accept เป็น true เพื่อยอมรับการเปลี่ยนแปลง หรือตั้งค่าเป็น false เพื่อปฏิเสธการเปลี่ยนแปลง page_change_proposal_id เป็นค่า proposal.id ที่คุณได้รับในการแจ้งเตือนจาก Webhook page_upcoming_change หรือค่า value.id ที่คุณได้รับในการแจ้งเตือนจาก Webhook page_change_proposal

curl -i -X POST "https://graph.facebook.com/v21.0/page_change_proposal_id" \
     -H "Content-Type: application/json" \
     -d '{
           "accept":"true",
         }'

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON ดังต่อไปนี้ โดยที่ตั้งค่า success เป็น true

การตั้งค่าเพจ

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

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

curl -i -X GET "https://graph.facebook.com/v21.0/page_id/settings"

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

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

{
  "data": [
    {
      "setting": "USERS_CAN_POST",
      "value": false
    },
    {
      "setting": "USERS_CAN_MESSAGE",
      "value": true
    },
    {
      "setting": "USERS_CAN_POST_PHOTOS",
      "value": true
    },
    ...
  ]
}

อัพเดตการตั้งค่า

หากต้องการอัพเดตการตั้งค่าสำหรับเพจ ให้ส่งคำขอ POST ไปยังตำแหน่งข้อมูล /page_id/settings โดยตั้งค่าพารามิเตอร์ option เป็นการตั้งค่าที่คุณต้องการอัพเดต

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

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/settings" \
     -H "Content-Type: application/json" \
     -d '{
           "option":{"USERS_CAN_MESSAGE": "true"},
         }'

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON ดังต่อไปนี้ โดยที่ตั้งค่า success เป็น true

เรียกดูรีวิว

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

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

curl -i -X GET "https://graph.facebook.com/page_id/ratings" 

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับอาร์เรย์แบบ JSON พร้อมด้วยอ็อบเจ็กต์รีวิว อ็อบเจ็กต์แต่ละรายการจะประกอบด้วย:

  • created_time ซึ่งตั้งค่าเป็นเวลาที่สร้างรีวิว
  • recommendation_type ซึ่งตั้งค่าเป็น positive หรือ negative
  • review_text ซึ่งตั้งค่าเป็นเนื้อหาของรีวิว
  • อ็อบเจ็กต์ reviewer พร้อมด้วย name และ id ของผู้ที่เขียนรีวิวนั้น
{
  "data": [
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "I love this page!",
      "reviewer": {
        "name": "Person One",
        "id": "psid_for_one"
      }
    },
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "This page is wonderful!",
      "reviewer": {
        "name": "Person Two",
        "id": "psid_for_two"
      }
    },
...
  ]
}

บล็อกบุคคล

หากต้องการบล็อกไม่ให้บุคคลใดบุคคลหนึ่งแสดงความคิดเห็นบนเพจ ให้ส่งคำขอ POST ไปยังตำแหน่งข้อมูล /page_id/blocked โดยตั้งค่าพารามิเตอร์ user เป็น ID ในเพจของบุคคลที่คุณต้องการบล็อก

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

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/blocked"
     -H "Content-Type: application/json" \
     -d '{
           "user":"psid_to_block",
         }'

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

{
 "psid_to_block": true
}