โพสต์

คู่มือนี้จะอธิบายวิธีการสร้าง เผยแพร่ และอัพเดตโพสต์ ตลอดจนตอบกลับโพสต์บนเพจ Facebook ของคุณในฐานะเพจ และลบโพสต์โดยใช้ API เพจจาก Meta

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

This guide assumes you have read the Overview

For a person who can perform tasks on the page, you will need to implement Facebook Login to ask for the following permissions and receive a Page access token:

  • pages_manage_engagement
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • publish_video permission, if you are publishing a video to the Page

Your app user must be able to perform the CREATE_CONTENT, MANAGE, and MODERATE tasks on the Page in the API requests.

If your app users do not own or manage the Page in the API requests, your app will need a User access token and the following features:

  • Page Public Content Access

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

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

เผยแพร่โพสต์

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

  • message ซึ่งตั้งค่าเป็นข้อความสำหรับโพสต์ของคุณ
  • link ซึ่งตั้งค่าเป็น URL ของคุณหากคุณต้องการโพสต์ลิงก์
  • published ตั้งค่าเป็น true เพื่อเผยแพร่โพสต์ทันที (ค่าเริ่มต้น) หรือ false เพื่อเผยแพร่ในภายหลัง
    • ให้ใส่ scheduled_publish_time หากตั้งค่าเป็น false โดยมีวันที่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้
      • ประทับเวลา UNIX จำนวนเต็ม [หน่วยเป็นวินาที] (เช่น 1530432000)
      • สตริงประทับเวลา ISO 8061 (เช่น 2018-09-01T10:15:30+01:00)
      • สตริงอื่นๆ ที่สามารถแยกวิเคราะห์ได้โดย strtotime() ของ PHP (เช่น +2 weeks, tomorrow)

ข้อควรทราบเกี่ยวกับโพสต์ที่กำหนดเวลาไว้

  • วันที่เผยแพร่ต้องอยู่ระหว่าง 10 นาทีถึง 30 วันนับตั้งแต่เวลาที่ส่งคำขอ API
  • หากคุณกำลังใช้สตริงวันที่ที่เชื่อมโยงของ strtotime() คุณสามารถอ่าน-หลังจาก-เขียนscheduled_publish_time ของโพสต์ที่สร้างขึ้นเพื่อให้มั่นใจว่าตรงตามที่คาดหวังไว้

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

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย แทนที่ค่าที่เป็นตัวหนาและตัวเอียง เช่น page_id ด้วยค่าของคุณ
curl -X POST "https://graph.facebook.com/v21.0/page_id/feed" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"your_message_text",
           "link":"your_url",
           "published":"false",
           "scheduled_publish_time":"unix_time_stamp_of_a_future_date",
         }'

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

{
  "id": "page_post_id" 
}

เพิ่มการกำหนดกลุ่มเป้าหมาย

หากต้องการจำกัดผู้ที่สามารถดูโพสต์บนเพจได้ คุณสามารถเพิ่มอ็อบเจ็กต์ targeting.geo_locations หรือพารามิเตอร์ feed_targeting.geo_locations ในคำขอ POST ของคุณ

-d '{
      ...
      "targeting": {
        "geo_locations": {
          "countries": [
            "CA"
          ],
          "cities": [
            {
              "key": "296875",
              "name": "Toronto"
            }
          ]
        }
      },
      ...
    }'

การแก้ไขปัญหา

ในบางกรณี การใช้ทั้งประเทศและภูมิภาคในประเทศนั้นๆ จะส่งผลให้เกิดข้อผิดพลาด "Some of your locations overlap. Try removing a location." (ตำแหน่งที่ตั้งบางแห่งของคุณทับซ้อนกัน ให้ลองลบตำแหน่งที่ตั้งออก) โดยในกรณีนี้ ให้กำหนดเป้าหมายเป็นภูมิภาคหรือประเทศตามการครอบคลุมที่คุณต้องการ

เผยแพร่โพสต์สื่อ

คุณสามารถเผยแพร่รูปภาพและวิดีโอไปยังเพจได้

เผยแพร่รูปภาพ

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

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

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย แทนที่ค่าที่เป็นตัวหนาและตัวเอียง เช่น page_id ด้วยค่าของคุณ
curl -X POST "https://graph.facebook.com/v21.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

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

{
  "id":"photo_id",
  "post_id":"page_post_id" 
}

เผยแพร่วิดีโอ

โปรดไปที่เอกสารประกอบ API วิดีโอเพื่อเผยแพร่โพสต์แบบวิดีโอไปยังเพจของคุณ

เรียกดูโพสต์

หากต้องการเรียกดูรายการโพสต์บนเพจ ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /{page-id}/feed

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

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย แทนที่ค่าที่เป็นตัวหนาและตัวเอียง เช่น page_id ด้วยค่าของคุณ
curl -i -X GET "https://graph.facebook.com/v21.0/page_id/feed"

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

{
  "data": [
    {
      "created_time": "2019-01-02T18:31:28+0000",
      "message": "This is my test post on my Page.",
      "id": "page_post_id"
    }
  ],
...
}

ข้อจำกัด

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

URL โพสต์บนเพจ

URL หรือลิงก์ถาวรสำหรับโพสต์บนเพจคือ https://www.facebook.com/page_post_id

อัพเดตโพสต์

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

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

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย แทนที่ค่าที่เป็นตัวหนาและตัวเอียง เช่น page_post_id ด้วยค่าของคุณ
curl -X POST "https://graph.facebook.com/v21.0/page_post_id" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"I am updating my Page post",
         }'

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

{
  "success": true
}

ข้อจำกัด

แอพจะอัพเดตโพสต์บนเพจได้ก็ต่อเมื่อสร้างโพสต์โดยใช้แอพเดียวกันเท่านั้น

ลบโพสต์

หากต้องการลบโพสต์บนเพจ ให้ส่งคำขอ DELETE ไปยังตำแหน่งข้อมูล /page_post_id โดยที่ page_post_id คือ ID ของโพสต์ที่คุณต้องการลบ

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

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย แทนที่ค่าที่เป็นตัวหนาและตัวเอียง เช่น page_post_id ด้วยค่าของคุณ
curl -i -X DELETE "https://graph.facebook.com/v21.0/page_post_id"

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

{
  "success": true
}

ขั้นตอนถัดไป

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