เวอร์ชันของ API กราฟ

/{object-id}/comments

ข้อมูลอ้างอิงนี้จะอธิบายเกี่ยวกับจุดเชื่อมโยง /comments ซึ่งมักใช้กับโหนด API กราฟหลายรายการ โครงสร้างและการดำเนินการของแต่ละโหนดจะเป็นแบบเดียวกัน อ็อบเจ็กต์ต่อไปนี้มีจุดเชื่อมโยง /comments:

อ็อบเจ็กต์ความคิดเห็นสามารถมีจุดเชื่อมโยง /comments ซึ่งเรียกว่าการตอบกลับความคิดเห็นได้ อ็อบเจ็กต์เหล่านี้มีโครงสร้างที่เหมือนกัน แต่คุณควรให้ความสำคัญกับตัวปรับเปลี่ยนสำหรับจุดเชื่อมโยงเหล่านี้

การอ่าน

ส่งกลับความคิดเห็นเกี่ยวกับอ็อบเจ็กต์

ช่อง id สำหรับตำแหน่งข้อมูล /PAGEPOST-ID/comments จะไม่มีการส่งคืนอีกต่อไปสำหรับแอพที่ใช้ฟีเจอร์สิทธิ์การเข้าถึงเนื้อหาแบบสาธารณะของเพจ หากต้องการเข้าถึง ID ความคิดเห็นสำหรับโพสต์บนเพจ คุณจะต้องสามารถดำเนินงาน MODERATE บนเพจที่มีการสืบค้นได้ การเปลี่ยนแปลงนี้จะมีผลสำหรับเวอร์ชั่น 11.0 ขึ้นไป และจะมีผลสำหรับทุกเวอร์ชั่นในวันที่ 7 กันยายน 2021

ประสบการณ์การใช้งานเพจแบบใหม่

ระบบรองรับตำแหน่งข้อมูล /comments ของอ็อบเจ็กต์ต่อไปนี้สำหรับประสบการณ์การใช้งานเพจแบบใหม่

  • อัลบั้ม
  • ความคิดเห็น
  • ลิงก์
  • เพจ
  • โพสต์บนเพจ
  • รูปภาพ
  • โพสต์
  • ความคิดเห็นต่อโพสต์

สิทธิ์การอนุญาต

  • ต้องมีสิทธิ์การอนุญาตเดียวกันกับที่ใช้ดูอ็อบเจ็กต์หลักเพื่อที่จะดูความคิดเห็นเกี่ยวกับอ็อบเจ็กต์ดังกล่าว

ข้อจำกัด

  • ระบบจะไม่ส่งคืนข้อมูลโปรไฟล์และความคิดเห็นของผู้ใช้รายอื่นเมื่อเข้าถึงโพสต์, รูปภาพ, อัลบั้ม, วิดีโอ, การกดถูกใจ และความรู้สึกของผู้ใช้ เว้นแต่ผู้ใช้เหล่านั้นจะอนุญาต
  • ความคิดเห็นที่ระบบส่งคืนมาในการสืบค้นจะอิงตามการกรองเริ่มต้น หากต้องการรับความคิดเห็นทั้งหมดที่ระบบสามารถส่งคืนได้ตามสิทธิ์การอนุญาตของคุณ ให้ตั้งค่าพารามิเตอร์ filter เป็น stream หรือใช้ช่อง order
  • เพจแบบใหม่สามารถแสดงความคิดเห็นในฐานะเพจบนเพจแบบใหม่หรือเพจแบบคลาสสิกได้ แต่เพจแบบคลาสสิกจะไม่สามารถแสดงความคิดเห็นบนเพจแบบใหม่ได้
  • สำหรับโหนดต่อไปนี้ ตำแหน่งข้อมูล /comments จะส่งคืนข้อมูลที่ว่างเปล่า หากคุณอ่านด้วยโทเค็นการเข้าถึงผู้ใช้
  • ช่อง id สำหรับตำแหน่งข้อมูล /PAGEPOST-ID/comments จะไม่มีการส่งคืนอีกต่อไปสำหรับแอพที่ใช้ฟีเจอร์สิทธิ์การเข้าถึงเนื้อหาแบบสาธารณะของเพจ หากต้องการเข้าถึง ID ความคิดเห็นสำหรับโพสต์บนเพจ คุณจะต้องสามารถดำเนินงาน MODERATE บนเพจที่มีการสืบค้นได้
  • สำหรับอ็อบเจ็กต์ที่มีความคิดเห็นนับหมื่นรายการ คุณอาจพบข้อจำกัดในขณะแบ่งหน้า โปรดเรียนรู้เพิ่มเติมเกี่ยวกับการแบ่งหน้าในคู่มือการใช้ API กราฟของเรา

ตัวอย่าง

Graph API Explorer
GET /v21.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
}];

พารามิเตอร์

GET /v21.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
}];
พารามิเตอร์ คำอธิบาย

summary

บูลีน

ข้อมูลสรุปของเมตาดาต้าเรื่องความคิดเห็นเกี่ยวกับอ็อบเจ็กต์ ที่สำคัญก็คือเมตาดาต้านี้จะมี order ซึ่งระบุวิธีการเรียงลำดับความคิดเห็น

filter

enum { toplevel, stream }

หากผู้ใช้สามารถตอบกลับความคิดเห็นได้ คุณก็สามารถกรองความคิดเห็นตามความคิดเห็นระดับบนสุด (ซึ่งก็คือความคิดเห็นที่มีต่อโพสต์โดยตรง) หรือความคิดเห็นทั้งหมดแบบเรียงตามลำดับเวลาได้

  • toplevel - นี่เป็นค่าเริ่มต้น ซึ่งจะส่งกลับความคิดเห็นระดับสูงสุดทั้งหมดโดยเรียงตามเวลาที่จัดลำดับไว้บน Facebook ตัวกรองนี้มีประโยชน์กับการแสดงโครงสร้างของความคิดเห็นเช่นเดียวกับที่ปรากฏอยู่บน Facebook
  • stream - ความคิดเห็นทุกระดับเรียงตามลำดับแบบ chronological ตัวกรองนี้มีประโยชน์กับเครื่องมือควบคุมความคิดเห็นที่ช่วยในการดูรายการความคิดเห็นทั้งหมดแบบเรียงตามลำดับเวลา

ช่อง

อาร์เรย์ของอ็อบเจ็กต์ความคิดเห็น นอกเหนือจากช่องต่อไปนี้เมื่อ summary เป็น true ในคำขอ

ช่อง คำอธิบาย

order

enum { chronological, reverse_chronological }

ลำดับการส่งกลับความคิดเห็น

  • chronological: ความคิดเห็นได้รับการเรียงลำดับโดยให้ความคิดเห็นที่เก่าที่สุดมาก่อน
  • reverse_chronological: ความคิดเห็นได้รับการเรียงลำดับโดยให้ความคิดเห็นที่ใหม่ที่สุดมาก่อน

total_count

int32

จำนวนความคิดเห็นบนโหนดนี้ สิ่งสำคัญที่ควรทราบคือค่านี้จะเปลี่ยนแปลงไปโดยขึ้นอยู่กับ filter ที่ใช้อยู่ (ซึ่งมีการตอบกลับความคิดเห็นให้ใช้งาน):

  • หาก filter เป็น stream แล้ว total_count ก็จะเป็นจำนวนความคิดเห็นทั้งหมด (รวมถึงการตอบกลับ) บนโหนด
  • หาก filter เป็น toplevel แล้ว total_count ก็จะเป็นจำนวนความคิดเห็นระดับบนสุดทั้งหมดบนโหนด

โปรดทราบ: total_count อาจมากกว่าหรือเท่ากับจำนวนจริงของความคิดเห็นที่ส่งคืนเนื่องด้วยความเป็นส่วนตัวหรือการลบความคิดเห็น

การเผยแพร่

เผยแพร่ความคิดเห็นใหม่กับอ็อบเจ็กต์

ประสบการณ์การใช้งานเพจแบบใหม่

ระบบรองรับตำแหน่งข้อมูล /comments ของอ็อบเจ็กต์ต่อไปนี้สำหรับประสบการณ์การใช้งานเพจแบบใหม่:

  • ความคิดเห็น
  • โพสต์บนเพจ
  • รูปภาพ
  • โพสต์
  • ความคิดเห็นต่อโพสต์
  • วิดีโอ

สิทธิ์การอนุญาต

  • โทเค็นการเข้าถึงเพจที่ร้องขอโดยบุคคลที่สามารถดำเนินงาน MODERATE บนเพจได้
  • สิทธิ์การอนุญาต pages_manage_engagement

โปรดทราบว่าช่อง can_comment บน อ็อบเจ็กต์ความคิดเห็นแต่ละรายการจะกำหนดว่าสามารถตอบกลับความคิดเห็นนั้นๆ ได้หรือไม่

ตัวอย่าง

POST /v21.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
}];

ช่อง

ชื่อ คำอธิบาย

attachment_id

สตริง

ID ที่ระบุหรือไม่ก็ได้ของรูปภาพที่ไม่ได้เผยแพร่ (ดูช่อง no_story ใน /{user-id}/photos) ซึ่งอัพโหลดไปยัง Facebook เพื่อใส่เป็นความคิดเห็นที่มีรูปภาพ ทั้งนี้ คุณจะต้องระบุ attachment_id, attachment_share_url, attachment_url, message หรือ source อย่างใดอย่างหนึ่งเมื่อเผยแพร่

attachment_share_url

สตริง

URL ของ GIF เพื่อใส่เป็นความคิดเห็นที่มี GIF แบบเคลื่อนไหว ทั้งนี้ คุณจะต้องระบุ attachment_id, attachment_share_url, attachment_url, message หรือ source อย่างใดอย่างหนึ่งเมื่อเผยแพร่

attachment_url

สตริง

URL ของรูปภาพเพื่อใส่เป็นความคิดเห็นที่มีรูปภาพ ทั้งนี้ คุณจะต้องระบุ attachment_id, attachment_share_url, attachment_url, message หรือ source อย่างใดอย่างหนึ่งเมื่อเผยแพร่

source

multipart/form-data

รูปภาพที่เข้ารหัสเป็นข้อมูลแบบฟอร์มเพื่อใช้เป็นความคิดเห็นที่มีรูปภาพ ทั้งนี้ คุณจะต้องระบุ attachment_id, attachment_share_url, attachment_url, message หรือ source อย่างใดอย่างหนึ่งเมื่อเผยแพร่

message

สตริง

ข้อความของความคิดเห็น ทั้งนี้ คุณจะต้องระบุ attachment_id, attachment_share_url, attachment_url, message หรือ source อย่างใดอย่างหนึ่งเมื่อเผยแพร่

ให้กล่าวถึงเพจ Facebook อื่นๆ ในข้อความ message ของคุณโดยใช้รูปแบบคำสั่งต่อไปนี้

@[page-id]

การใช้ฟีเจอร์นี้จะต้องได้รับการตรวจสอบ

ประเภทของการกลับ

หากสำเร็จ คุณจะได้รับการตอบกลับ JSON พร้อม ID ความคิดเห็นที่สร้างขึ้นใหม่ นอกจากนี้ ตำแหน่งข้อมูลนี้ยังรองรับอ่าน-หลังจาก-เขียน และสามารถส่งคืนช่องใดๆ ที่ส่งคืนมาโดยการดำเนินการอ่านได้ทันที

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

การอัพเดต

คุณไม่สามารถอัพเดตโดยใช้จุดเชื่อมโยงนี้ได้

การลบ

คุณไม่สามารถลบโดยใช้จุดเชื่อมโยงนี้ได้

ลบความคิดเห็นแต่ละรายการโดยใช้ตำแหน่งข้อมูล /comment-id