Bài viết

Hướng dẫn này giải thích cách tạo, đăng, cập nhật bài viết và trả lời một bài viết trên Trang Facebook với vai trò Trang, cũng như xóa bài viết bằng API Trang của Meta.

Trước khi bạn bắt đầu

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

Cách làm tốt nhất

Khi thử nghiệm một lệnh gọi API, bạn có thể thêm thông số access_token và đặt thông số này là mã truy cập của mình. Tuy nhiên, khi thực hiện lệnh gọi bảo mật từ ứng dụng của bạn, hãy sử dụng lớp mã truy cập.

Đăng bài viết

Để đăng một bài viết lên Trang, hãy gửi yêu cầu POST đến điểm cuối /page_id/feed, trong đó page_id là ID Trang của bạn cùng với các thông số sau đây:

  • message được đặt là văn bản cho bài viết của bạn
  • link được đặt là URL của bạn nếu bạn muốn đăng liên kết
  • published được đặt là true để đăng bài viết ngay lập tức (mặc định) hoặc false để đăng sau
    • Nếu đặt là false thì thêm scheduled_publish_time với ngày ở một trong những định dạng sau đây:
      • Nhãn thời gian UNIX dạng số nguyên [tính bằng giây] (ví dụ: 1530432000)
      • Chuỗi nhãn thời gian theo tiêu chuẩn ISO 8061 (ví dụ: 2018-09-01T10:15:30+01:00)
      • Một chuỗi khác bất kỳ có thể phân tích cú pháp bằng strtotime() của PHP (ví dụ: +2 weeks, tomorrow)

Lưu ý về bài viết đã lên lịch

  • Ngày đăng phải nằm trong khoảng từ 10 phút đến 30 ngày kể từ khi gửi yêu cầu API.
  • Nếu đang sử dụng chuỗi ngày tương đối của strtotime(), bạn có thể đọc sau khi ghischeduled_publish_time của bài viết đã tạo nhằm đảm bảo bài viết hiển thị như mong đợi.

Yêu cầu mẫu

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_id bằng các giá trị của bạn.
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",
         }'

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON sau đây chứa ID bài viết:

{
  "id": "page_post_id" 
}

Thêm tùy chọn nhắm mục tiêu đối tượng

Để giới hạn những người có thể xem bài viết trên Trang, bạn có thể thêm đối tượng targeting.geo_locations hoặc thông số feed_targeting.geo_locations vào yêu cầu POST.

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

Khắc phục sự cố

Trong một số trường hợp, việc sử dụng cả quốc gia và khu vực trong quốc gia đó sẽ dẫn đến lỗi: "Một số vị trí bị chồng chéo. Hãy thử gỡ một vị trí." Trong những trường hợp này, hãy nhắm mục tiêu khu vực hoặc quốc gia tùy theo phạm vi mà bạn muốn.

Đăng bài viết có chứa file phương tiện

Bạn có thể đăng ảnh và video lên một Trang.

Đăng ảnh

Để đăng một ảnh lên Trang, hãy gửi yêu cầu POST đến điểm cuối /page_id/photos, trong đó page_id là ID Trang của bạn và đặt thông số url là ảnh cho bài viết.

Yêu cầu mẫu

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_id bằng các giá trị của bạn.
curl -X POST "https://graph.facebook.com/v21.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON sau đây chứa ID ảnh và ID bài viết:

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

Đăng video

Vui lòng truy cập vào tài liệu về API Video để đăng một bài viết có chứa video lên Trang của bạn.

Lấy bài viết

Để lấy danh sách các bài viết trên Trang, hãy gửi yêu cầu GET đến điểm cuối /page_id/feed.

Yêu cầu mẫu

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_id bằng các giá trị của bạn.
curl -i -X GET "https://graph.facebook.com/v21.0/page_id/feed"

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON sau đây chứa một mảng đối tượng bao gồm ID bài viết, thời gian tạo bài viết và nội dung bài viết cho mỗi bài viết trên Trang của bạn:

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

Các giới hạn

  • Video trực tiếp - Nếu bài viết trên Trang chứa video đã hết hạn, chẳng hạn như video phát trực tiếp, bạn có thể lấy một số trường của bài viết chứ không phải các trường liên quan đến video đó. Video có quy tắc riêng về quyền riêng tư. Nếu video đã hết hạn, bạn phải là quản trị viên trang thì mới xem được thông tin trên đó.
  • Nút kêu gọi hành động Nhắn tin - Bạn có thể dùng mã truy cập bất kỳ để yêu cầu bài viết trên Trang được chia sẻ công khai, miễn là ứng dụng của bạn được phê duyệt Tính năng Quyền truy cập nội dung công khai trên Trang. Tuy nhiên, bạn không thể dùng mã truy cập của Trang khác để truy cập các bài viết có nút kêu gọi hành động nhắn tin vì các trang không thể gửi tin nhắn cho nhau.

URL bài viết trên Trang

URL hoặc liên kết vĩnh viễn cho bài viết trên Trang là https://www.facebook.com/page_post_id.

Cập nhật bài viết

Để cập nhật một bài viết trên Trang, hãy gửi yêu cầu POST đến điểm cuối /page_post_id và đặt thông số bạn muốn cập nhật là nội dung mới.

Yêu cầu mẫu

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_post_id bằng các giá trị của bạn.
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",
         }'

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON sau đây chứa success được đặt là true:

{
  "success": true
}

Các giới hạn

Một ứng dụng chỉ có thể cập nhật bài viết trên Trang nếu bài viết được tạo bằng ứng dụng đó.

Xóa bài viết

Để xóa một bài viết trên Trang, hãy gửi yêu cầu DELETE đến điểm cuối /page_post_id, trong đó page_post_id là ID của bài viết bạn muốn xóa.

Yêu cầu mẫu

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_post_id bằng các giá trị của bạn.
curl -i -X DELETE "https://graph.facebook.com/v21.0/page_post_id"

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON sau đây chứa success được đặt là true:

{
  "success": true
}

Bước tiếp theo

Tìm hiểu cách bình luận về bài viết trên Trang và @nhắc đến một người hoặc Trang cụ thể đã đăng hoặc bình luận trên Trang của bạn.