Phiên bản API Đồ thị

/{object-id}/comments

Tài liệu tham khảo này mô tả cạnh /comments được dùng phổ biến cho nhiều nút API Đồ thị. Cấu trúc và hoạt động của mỗi nút đều như nhau. Các đối tượng sau có cạnh /comments:

Các đối tượng bình luận có thể có cạnh /comments, gọi là phản hồi về bình luận. Cấu trúc đó tương tự như những cấu trúc này, nhưng bạn cần chú ý đến thông số sửa đổi cho những cạnh này.

Đọc

Trả về bình luận cho một đối tượng.

Trường id của điểm cuối /PAGEPOST-ID/comments sẽ không còn được trả về cho ứng dụng qua tính năng Quyền truy cập vào nội dung công khai trên Trang. Để truy cập ID bình luận cho bài viết trên Trang, bạn phải có khả năng thực hiện tác vụ MODERATE trên Trang được truy vấn. Sự thay đổi này có hiệu lực cho v11.0 trở lên và sẽ được triển khai cho tất cả các phiên bản vào ngày 07/09/2021.

Trải nghiệm Trang mới

Trải nghiệm Trang mới hỗ trợ điểm cuối /comments của các đối tượng sau đây:

  • Album
  • Comment
  • Link
  • Page
  • PagePost
  • Photo
  • Post
  • PostComment

Quyền

  • Quyền xem đối tượng chính cũng là quyền xem bình luận về đối tượng đó.

Giới hạn

  • Thông tin trên trang cá nhân và bình luận của những người dùng khác sẽ không được trả về khi truy cập vào bài viết, ảnh, album, video, lượt thích và cảm xúc của người dùng nếu không được những người dùng đó cho phép.
  • Các bình luận được trả về trong một truy vấn sẽ dựa trên quá trình lọc mặc định. Nếu bạn muốn lấy tất cả bình luận có thể được trả về tùy thuộc vào quyền mình có, hãy đặt thông số filterstream hoặc sử dụng trường order.
  • Trang mới có thể bình luận với vai trò Trang trên các Trang mới hoặc Trang truyền thống. Tuy nhiên, Trang truyền thống không thể bình luận trên Trang mới.
  • Đối với các nút sau, điểm cuối /comments sẽ trả về dữ liệu trống nếu bạn đọc bằng mã truy cập dành cho Người dùng:
  • Trường id của điểm cuối /PAGEPOST-ID/comments sẽ không còn được trả về cho ứng dụng qua tính năng Quyền truy cập vào nội dung công khai trên Trang. Để truy cập ID bình luận cho bài viết trên Trang, bạn phải có khả năng thực hiện tác vụ MODERATE trên Trang được truy vấn.
  • Đối với những đối tượng có hàng chục nghìn bình luận, bạn có thể gặp phải giới hạn khi phân trang. Hãy tìm hiểu thêm về cách phân trang trong Hướng dẫn sử dụng API Đồ thị của chúng tôi.

Ví dụ

Trình khám phá API Đồ thị
GET /v19.0/{object-id}/comments 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(
    '/{object-id}/comments',
    '{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(
    "/{object-id}/comments",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/comments",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/comments"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Thông số

GET /v19.0/{object-id}/comments?summary=1&filter=toplevel 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(
    '/{object-id}/comments?summary=1&filter=toplevel',
    '{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(
    "/{object-id}/comments",
    {
        "summary": true,
        "filter": "toplevel"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putBoolean("summary", true);
params.putString("filter", "toplevel");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/comments",
    params,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"summary": @YES,
  @"filter": @"toplevel",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/comments"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
Thông số Mô tả

summary

bool

Bản tóm tắt siêu dữ liệu liên quan đến bình luận về đối tượng. Quan trọng là siêu dữ liệu này bao gồm order để chỉ rõ cách sắp xếp bình luận.

filter

enum { toplevel, stream }

Nếu một người có thể phản hồi bình luận, bạn có thể lọc bình luận dựa trên bình luận cấp cao nhất, bình luận trực tiếp trên bài viết hoặc thứ tự thời gian của tất cả bình luận.

  • toplevel - Đây là bình luận mặc định. Tùy chọn này sẽ trả về tất cả bình luận hàng đầu theo trình tự thời gian, được yêu cầu trên Facebook. Bộ lọc này hữu ích trong việc hiển thị bình luận theo cấu trúc tương tự như cách chúng xuất hiện trên Facebook.
  • stream - Bình luận ở tất cả các cấp độ theo thứ tự chronological. Bộ lọc này hữu ích đối với các công cụ kiểm duyệt bình luận, giúp bạn xem danh sách tất cả các bình luận theo trình tự thời gian.

Trường

Một mảng Đối tượng bình luận ngoài các trường sau đây khi summarytrue trong yêu cầu.

Trường Mô tả

order

enum { chronological, reverse_chronological }

Thứ tự trả về bình luận.

  • chronological: Bình luận được sắp xếp theo trình tự từ cũ đến mới.
  • reverse_chronological: Bình luận được sắp xếp theo trình tự từ mới đến cũ.

total_count

int32

Số bình luận trên nút này. Lưu ý rằng giá trị này thay đổi tùy vào filter đang được sử dụng (nơi có phản hồi về bình luận):

  • nếu filterstream thì total_count sẽ là tổng tất cả các bình luận (kể cả phản hồi) trên nút đó.
  • nếu filtertoplevel thì total_count sẽ là tổng tất cả các bình luận ở cấp cao nhất trên nút đó.

Lưu ý: total_count có thể lớn hơn hoặc bằng số bình luận thực tế được trả về do thao tác xóa hoặc quyền riêng tư về bình luận.

Đăng

Đăng bình luận mới về đối tượng bất kỳ.

Trải nghiệm Trang mới

Trải nghiệm Trang mới hỗ trợ điểm cuối /comments của các đối tượng sau đây:

  • Comments
  • PagePosts
  • Photo
  • Post
  • PostComment
  • Video

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_manage_engagement

Lưu ý: trường can_comment trên các đối tượng bình luận riêng lẻ cho biết có thể trả lời bình luận đó hay không.

Ví dụ

POST /v19.0/{object-id}/comments 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(
    '/{object-id}/comments',
    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(
    "/{object-id}/comments",
    "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(),
    "/{object-id}/comments",
    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:@"/{object-id}/comments"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Trường

Tên Mô tả

attachment_id

chuỗi

Một ID không bắt buộc của ảnh chưa đăng (xem trường no_story trong /{user-id}/photos) được tải lên Facebook để bao gồm dưới dạng bình luận bằng ảnh. Phải cung cấp một trong các giá trị attachment_id, attachment_share_url, attachment_url, message hoặc source khi đăng.

attachment_share_url

chuỗi

URL của file GIF sẽ bao gồm dưới dạng bình luận ảnh GIF động. Phải cung cấp một trong các giá trị attachment_id, attachment_share_url, attachment_url, message hoặc source khi đăng.

attachment_url

chuỗi

URL của một hình ảnh để bao gồm dưới dạng bình luận của ảnh. Phải cung cấp một trong các giá trị attachment_id, attachment_share_url, attachment_url, message hoặc source khi đăng.

source

multipart/form-data

Một ảnh - được mã hóa dưới dạng dữ liệu mẫu - để dùng làm bình luận bằng ảnh. Phải cung cấp một trong các giá trị attachment_id, attachment_share_url, attachment_url, message hoặc source khi đăng.

message

chuỗi

Văn bản bình luận. Phải cung cấp một trong các giá trị attachment_id, attachment_share_url, attachment_url, message hoặc source khi đăng.

Đề cập các Trang Facebook khác trong văn bản message của bạn bằng cách sử dụng cú pháp sau đây:

@[page-id]

Việc sử dụng tính năng này phụ thuộc vào quy trình xét duyệt.

Loại trả về

Nếu thành công, bạn sẽ nhận được phản hồi JSON kèm ID bình luận mới tạo. 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ề.

{
  "id": "{comment-id}"
}

Cập nhật

Bạn không thể cập nhật bằng cạnh này.

Xóa

Bạn không thể xóa bằng cạnh này.

Xóa từng bình luận bằng điểm cuối /comment-id.