เอกสารนี้จะแสดงวิธีดำเนินงานต่อไปนี้สำหรับเพจ Facebook:
คู่มือนี้จะถือว่าคุณได้อ่านภาพรวมของ 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
ที่ตั้งเป็นโทเค็นการเข้าถึงของคุณได้ ทั้งนี้ เมื่อดำเนินการเรียกใช้แบบปลอดภัยจากแอพของคุณ ให้ใช้คลาสโทเค็นการเข้าถึง
การเรียกใช้ API เพียงครั้งเดียวสามารถให้ข้อมูลต่างๆ มากมายเกี่ยวกับเพจที่คุณสามารถดำเนินงานได้
หากต้องการเรียกดูรายชื่อเพจทั้งหมดที่คุณสามารถดำเนินงานได้ งานที่คุณสามารถทำได้ในแต่ละเพจ และโทเค็นการเข้าถึงเพจแบบใช้งานระยะสั้นสำหรับแต่ละเพจ ให้ส่งคำขอ GET
ไปยังตำแหน่งข้อมูล /user_id/accounts
โดยใช้โทเค็นการเข้าถึงผู้ใช้
curl -i -X GET "https://graph.facebook.com/user_id/accounts"
เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON พร้อมด้วยอาร์เรย์ของอ็อบเจ็กต์เพจ อ็อบเจ็กต์เพจแต่ละรายการจะประกอบด้วย:
{ "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 จะเสนอการเปลี่ยนแปลงรายละเอียดในเพจของคุณ เช่น การแก้ไขการพิมพ์ผิด หรือการอัพเดตหมวดหมู่บนเพจของคุณ เพื่อช่วยให้ผู้คนค้นหาเพจของคุณได้ดียิ่งขึ้น หากต้องการรับการแจ้งเตือนเหล่านี้ คุณต้องสมัครรับข้อมูลจาก 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 }
เรียนรู้วิธีเผยแพร่ลิงก์ รูปภาพ และวิดีโอไปยังเพจของคุณ