Phiên bản API Đồ thị

Bình luận /{comment-id}

Bạn có thể tạo comment về nhiều loại nội dung khác nhau trên Facebook. Hầu hết các nút API Đồ thị đều có cạnh /comments liệt kê tất cả bình luận về đối tượng đó. Nút /{comment-id} trả về một comment.

Đọc

Trải nghiệm Trang mới

API này được hỗ trợ cho Trải nghiệm Trang mới.

Quyền

  • Chung – Để đọc một bình luận, thông thường, bạn cần có quyền giống như quyền phải có để xem đối tượng chứa bình luận đó.

  • Phản hồi – Nếu đây là bình luận phản hồi một bình luận khác, quyền được yêu cầu sẽ áp dụng cho đối tượng chứa bình luận chính.

  • Bình luận và phản hồi thuộc về Trang – Đối với bất kỳ bình luận hoặc phản hồi nào thuộc về Trang, bạn phải sử dụng mã truy cập Trang nếu muốn đưa Thông tin người dùng vào phản hồi.

Định dạng ID bình luận về Bài viết trên Trang – {page-id}_{post_id}_{comment-id} – không còn được dùng nữa. Thay vào đó, hãy sử dụng định dạng {pagepost-id}_{comment-id}.

Trình khám phá API Đồ thị
GET /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{comment-id}',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{comment-id}",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{comment-id}",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{comment-id}"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Trường

Tên thuộc tính Mô tả Loại

id

ID bình luận

string

attachment

Liên kết, video, nhãn dán hoặc ảnh đính kèm vào bình luận

StoryAttachment

can_comment

Liệu người xem có thể phản hồi bình luận này hay không

bool

can_remove

Liệu người xem có thể gỡ bình luận này hay không

bool

can_hide

Liệu người xem có thể ẩn bình luận này hay không. Chỉ hiển thị với quản trị viên trang

boolean

can_like

Liệu người xem có thể thích bình luận này hay không

boolean

can_reply_privately

Liệu người xem có thể gửi phản hồi riêng tư về bình luận này hay không (Chỉ người xem Trang)

boolean

comment_count

Số lượt phản hồi bình luận này

int32

created_time

Thời gian tạo bình luận này

datetime

from

Người tạo bình luận này

User

like_count

Số lượt thích bình luận này

int32

message

Văn bản bình luận

string

message_tags

Một mảng Trang cá nhân được gắn thẻ trong message.

object[]

id

ID trang cá nhân được gắn thẻ.

string

name

Văn bản dùng trong thẻ.

string

type

Cho biết loại trang cá nhân nào được gắn thẻ.

enum{user, page, group}

offset

Trong đó ký tự đầu tiên của văn bản được gắn thẻ sẽ nằm trong message, được đo bằng điểm mã unicode.

integer

length

Số lượng điểm mã unicode có trong thẻ này, sau khi bù trừ.

integer

object

Bình luận về một bài viết có ảnh hoặc video, kể cả những bình luận trong bài viết động. Nếu không, thuộc tính này sẽ trống.

Object

parent

Đối với phản hồi bình luận, đây chính là bình luận nhận được phản hồi này.

Comment

permalink_url

URL liên kết vĩnh viễn của bình luận.

Nếu ứng dụng gọi chỉ có tính năng Quyền truy cập vào nội dung công khai trên Trang, trường này sẽ không được trả về trong truy vấn phiên bản 20.0 trở lên. Thay đổi này áp dụng cho mọi truy vấn phiên bản từ ngày 19/08/2024.

string

private_reply_conversation

Đối với bình luận có phản hồi riêng tư, thuộc tính này sẽ lấy cuộc trò chuyện giữa Trang và người tạo bình luận đó (Chỉ người xem Trang)

Conversation

user_likes

Liệu người xem đã thích bình luận này hay chưa.

bool

Đăng

Bạn có thể đăng bình luận bằng cạnh /comments khi bình luận xuất hiện trên nút.

Xóa

Bạn có thể xóa bình luận bằng điểm cuối sau:

DELETE /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{comment-id}',
    array (),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{comment-id}",
    "DELETE",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{comment-id}",
    null,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{comment-id}"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Trải nghiệm Trang mới

API này được hỗ trợ cho Trải nghiệm Trang mới.

Yêu cầu

Để xóa bình luận do một Trang đăng, bạn cần có:

  • Mã truy cập Trang do một người yêu cầu. Người này có thể thực hiện tác vụ "MODERATE" trên Trang
  • Quyền pages_read_engagement
  • Quyền pages_manage_engagement

Để xóa bình luận do một Người dùng hoặc Trang khác đăng, bạn cần có:

  • Mã truy cập Trang do một người yêu cầu. Người này có thể thực hiện tác vụ "MODERATE" trên Trang
  • Quyền pages_manage_engagement
  • Quyền pages_read_user_content

Giới hạn

Bài đánh giá không phải là bài viết trên Trang nên Trang không thể gỡ các bình luận về bài đánh giá.

Phản hồi

Nếu thành công:

{
  "success": true
}

Nếu không, hệ thống sẽ trả về một thông báo lỗi phù hợp.

Cập nhật

Bạn có thể chỉnh sửa bình luận bằng điểm cuối sau:

POST /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+comment
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{comment-id}',
    array (
      'message' => 'This is a test comment',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{comment-id}",
    "POST",
    {
        "message": "This is a test comment"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test comment");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{comment-id}",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test comment",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{comment-id}"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Trải nghiệm Trang mới

API này được hỗ trợ cho Trải nghiệm Trang mới.

Quyền

  • Mã truy cập Trang do một người yêu cầu. Người này có thể thực hiện tác vụ "MODERATE" trên Trang
  • Quyền pages_read_engagement
  • Quyền pages_manage_engagement

Ẩn bình luận

Bạn có thể ẩn hầu hết các bình luận về Bài viết, trừ trường hợp ngoại lệ sau:

  • bình luận của Trang
  • bình luận của quản trị viên Trang
  • bình luận của Trang về Bài viết của Người dùng. Bài viết thuộc quyền sở hữu của Người dùng.
  • bình luận của Người dùng bất kỳ về Bài viết do một Người dùng khác đăng lên Trang. Bài viết thuộc quyền sở hữu của Người dùng.
  • bình luận của người tạo Sự kiện. Bài viết thuộc quyền sở hữu của người tạo Sự kiện.
  • bình luận của một Nhóm Facebook. Bài viết thuộc quyền sở hữu của Nhóm.
  • bình luận của ai đó về một bài đánh giá

Trường

Bạn phải cung cấp một trong các giá trị attachment_url, attachment_id, message hoặc attachment_share_url khi cập nhật.

Bạn phải thêm tin nhắn hoặc file đính kèm. File đính kèm có thể là url, attachment_id hoặc attachment_share_url. Bạn có thể thêm cả idurl cùng nhau. Nếu thêm attachment_share_url, bạn không được thêm các giá trị khác.

Khi cập nhật, bạn phải thêm mọi giá trị có trên nội dung gốc. Nếu bạn không thêm một trong những giá trị này, nó sẽ bị gỡ khỏi nội dung sau khi cập nhật. Ví dụ: nếu bạn cập nhật bình luận có hình ảnh được chỉ định qua attachment_url và không thêm hình ảnh đó trong quá trình cập nhật, hình ảnh sẽ bị gỡ.

Thao tác cập nhật hỗ trợ các trường được nêu trong phần đăng của /object/comments. Các trường này bao gồm attachment_url, attachment_id, messagesource. Vui lòng xem tài liệu đó để biết chi tiết về các trường nêu trên.

Thao tác cập nhật cũng hỗ trợ trường is_hidden có nêu dưới đây.

Tên Mô tả Loại

is_hidden

Bình luận này ẩn hay hiển thị. Người đăng ban đầu vẫn có thể nhìn thấy bình luận, cùng với quản trị viên trang và bất kỳ ai khác được gắn thẻ trong bình luận đó

boolean

Phản hồi

Nếu thành công, bạn sẽ nhận được phản hồi có thông tin sau. Ngoài ra, điểm cuối này hỗ trợ đọc sau khi ghi và có thể trả về ngay bất kỳ trường nào do thao tác đọc trả về.

{
  "success": true
}

Nếu không thành công, hệ thống sẽ trả về một thông báo lỗi phù hợp.

Cạnh

Tên thuộc tính Mô tả Loại
/comments

Các bình luận phản hồi bình luận này.

Edge<Comment>
/likes

Những người thích bình luận này.

Edge<Profile>
/reactions

Những người đã bày tỏ cảm xúc với bài viết này.

Edge<Reaction>
/private_replies

Dùng để gửi phản hồi bằng tin nhắn riêng cho bình luận này (Chỉ người xem Trang).

Edge<Message>