Quản lý Trang

Tài liệu này hướng dẫn bạn cách thực hiện các tác vụ sau trên Trang Facebook:

  • Lấy danh sách các trang mà bạn có thể thực hiện một tác vụ, bao gồm:
    • Tác vụ cụ thể mà bạn có thể thực hiện trên mỗi Trang
    • Mã truy cập Trang cho mỗi Trang mà bạn dùng để thử nghiệm lệnh gọi API
  • Lấy và cập nhật thông tin chi tiết về Trang
  • Lấy và cập nhật cài đặt của Trang
  • Nhận thông báo về các thay đổi gợi ý mà Meta sẽ triển khai trên Trang
    • Chấp nhận hoặc từ chối những thay đổi gợi ý này
  • Lấy đánh giá cho Trang
  • Chặn một người khỏi Trang

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

Hướng dẫn này giả định rằng bạn đã đọc phần Tổng quan về API Trang.

Đối với người dùng có thể thực hiện các tác vụ trên trang, bạn sẽ cần triển khai phương thức Đăng nhập bằng Facebook để yêu cầu những quyền sau đây và nhận mã truy cập Trang hoặc mã truy cập dành cho Người dùng:

  • pages_manage_engagement
  • pages_manage_metadata
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • pages_show_list
  • Quyền publish_video, nếu bạn đăng video lên Trang

Bạn cần có quyền business_management để sử dụng người dùng hệ thống của doanh nghiệp trong yêu cầu API.

Người dùng ứng dụng của bạn phải có khả năng thực hiện các tác vụ CREATE_CONTENT, MANAGE và/hoặc MODERATE trên Trang trong yêu cầu API.

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.

Các 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.

Trang, tác vụ và mã

Một lệnh gọi API có thể cung cấp nhiều thông tin về những Trang mà bạn có thể thực hiện một tác vụ.

Lấy Trang

Để lấy danh sách tất cả Trang mà bạn có thể thực hiện tác vụ, các tác vụ bạn có thể thực hiện trên mỗi trang và mã truy cập Trang ngắn hạn cho mỗi Trang, hãy gửi yêu cầu GET đến điểm cuối /user_id/accounts bằng cách sử dụng mã truy cập dành cho Người dùng.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa một mảng đối tượng Trang. Mỗi đối tượng Trang chứa:

  • Tên Trang
  • ID Trang
  • Hạng mục Trang, tên và ID hạng mục
  • Mã truy cập Trang ngắn hạn
  • Tất cả tác vụ mà người dùng có thể thực hiện trên Trang đó

Phản hồi mẫu

{
  "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"
      ]
    },
...
  ]
}

Lấy tác vụ của người khác

Nếu có thể thực hiện tác vụ MANAGE trên Trang, bạn sẽ lấy được danh sách những người khác có thể thực hiện tác vụ trên Trang đó, bao gồm cả những tác vụ mà từng người có thể thực hiện.

Để lấy danh sách những người này và tác vụ mà họ có thể thực hiện trên Trang, hãy gửi yêu cầu GET đến điểm cuối /page_id/roles.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa tên người dùng, ID người dùng trong Trang của họ và tác vụ mà từng người có thể thực hiện trên Trang.

Phản hồi mẫu

{
  "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"
      ]
    },
...
  ],
}

Thông tin chi tiết Trang

Nếu có thể thực hiện tác vụ MANAGE trên Trang, bạn có thể sử dụng mã truy cập Trang hoặc nếu ứng dụng đã được phê duyệt tính năng Quyền truy cập nội dung công khai trên Trang, bạn có thể sử dụng mã truy cập dành cho Người dùng để xem thông tin chi tiết của Trang, chẳng hạn như giới thiệu, email, giờ làm việc, v.v.

Lấy thông tin chi tiết

Để lấy thông tin chi tiết về Trang, hãy gửi yêu cầu GET đến điểm cuối /page_id với thông số fields được đặt thành thông tin chi tiết Trang mà bạn muốn xem.

Lưu ý: Bạn có thể sử dụng điểm cuối /pages/search để tìm ID Trang khi sử dụng tính năng Quyền truy cập nội dung công khai trên Trang.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa giá trị dành cho các trường mà bạn yêu cầu. Nếu phản hồi không trả về trường nào thì tức là Trang chưa đặt giá trị này. Ví dụ: nếu Trang chưa đặt trường attire, phản hồi sẽ không trả về trường này.

Cập nhật thông tin chi tiết

Nếu có thể thực hiện tác vụ MANAGE trên Trang, bạn có thể sử dụng mã truy cập Trang để gửi yêu cầu POST đến điểm cuối /page_id kèm theo thông số mà bạn muốn cập nhật, chẳng hạn như thông số about.

Yêu cầu mẫu

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!",
         }'

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

Thay đổi do Meta đề xuất

Đôi khi, Meta sẽ đề xuất các thay đổi đối với thông tin chi tiết của Trang, chẳng hạn như sửa lỗi đánh máy hoặc cập nhật các hạng mục trên Trang để giúp mọi người tìm Trang của bạn hiệu quả hơn. Để nhận các thông báo này, bạn phải đăng ký webhook page_upcoming_change và/hoặc page_change_proposal.

Sau khi nhận thông báo, bạn có thể thực hiện một trong những điều sau:

  • Không làm gì cả và thay đổi sẽ có hiệu lực vào thời gian được chỉ định trong thông báo
  • Chủ động chấp nhận thay đổi và các thay đổi sẽ có hiệu lực ngay lập tức
  • Chủ động từ chối thay đổi và các thay đổi sẽ không được thực hiện

Chấp nhận hoặc từ chối thay đổi được đề xuất

Để chủ động chấp nhận hoặc từ chối thay đổi được đề xuất, hãy gửi yêu cầu POST đến điểm cuối /page_change_proposal_id với trường accept được đặt là true để chấp nhận thay đổi hoặc false để từ chối thay đổi. page_change_proposal_id là giá trị proposal.id bạn nhận được trong thông báo webhook page_upcoming_change hoặc giá trị value.id bạn nhận được trong thông báo 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",
         }'

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

Cài đặt Trang

Nếu có thể thực hiện tác vụ MANAGE trên Trang, bạn có thể sử dụng mã truy cập Trang để gửi yêu cầu GET đến điểm cuối /page_id/settings nhằm lấy danh sách tất cả cài đặt của Trang đó.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa một mảng đối tượng. Mỗi đối tượng là setting được đặt thành cài đặt Trang và giá trị true hoặc false.

Phản hồi mẫu

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

Cập nhật cài đặt

Để cập nhật cài đặt của Trang, hãy gửi yêu cầu POST đến điểm cuối /page_id/settings với thông số option được đặt thành cài đặt mà bạn muốn cập nhật.

Yêu cầu mẫu

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

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

Lấy đánh giá

Bạn có thể lấy đánh giá cho Trang, bao gồm cả tên người đánh giá, ID người dùng trong Trang của họ, dù đó là đề xuất tích cực hay tiêu cực và văn bản đánh giá, hãy gửi yêu cầu GET đến điểm cuối /page_id/ratings.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được một mảng JSON chứa các đối tượng đánh giá. Mỗi đối tượng chứa:

  • created_time được đặt thành thời gian tạo đánh giá,
  • recommendation_type được đặt là positive hoặc negative
  • review_text được đặt thành nội dung đánh giá
  • đối tượng reviewer cùng với nameid của người đã viết đánh giá đó
{
  "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"
      }
    },
...
  ]
}

Chặn một người

Để chặn một người bình luận trên Trang, hãy gửi yêu cầu POST đến điểm cuối /page_id/blocked với thông số user được đặt thành ID người dùng trong Trang của người bạn muốn chặn.

Yêu cầu mẫu

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

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON với ID người dùng trong trang được đặt là true.

{
 "psid_to_block": true
}