Versi Graph API

/{object-id}/comments

Referensi ini menjelaskan edge /comments yang lazim untuk beberapa node Graph API. Struktur dan operasinya sama untuk setiap node. Objek-objek berikut ini memiliki edge /comments:

Objek komentar dapat memiliki edge /comments, yang disebut balasan komentar. Strukturnya sama untuk ini, tetapi yang harus diperhatikan adalah pengubah untuk edge ini.

Membaca

Mengembalikan komentar pada sebuah objek.

Kolom id untuk endpoint /PAGEPOST-ID/comments tidak akan ditampilkan lagi untuk aplikasi yang menggunakan fitur Akses Konten Publik Halaman. Untuk mengakses ID komentar untuk kiriman Halaman, Anda harus dapat melakukan tugas MODERATOR di Halaman yang di-kueri. Perubahan ini berlaku untuk v11.0+ dan akan diterapkan untuk semua versi mulai 7 September 2021.

Pengalaman Halaman Baru

Endpoint /comments objek berikut didukung untuk Pengalaman Halaman Baru:

  • Album
  • Komentar
  • Tautan
  • Halaman
  • Postingan Halaman
  • Foto
  • Postingan
  • Postingan Komentar

Izin

  • Izin yang harus dimiliki untuk melihat objek induk juga diperlukan untuk melihat komentar pada objek itu.

Batasan

  • Informasi profil dan komentar pengguna lain tidak akan ditampilkan saat mengakses postingan, foto, album, video, suka, dan tanggapan pengguna kecuali diizinkan oleh pengguna tersebut.
  • Komentar yang ditampilkan dalam kueri berdasarkan pemfilteran standar. Untuk mendapatkan semua komentar yang dapat ditampilkan sesuai izin Anda, atur parameter filter ke stream atau gunakan kolom order.
  • Halaman baru dapat berkomentar sebagai Halaman di Halaman baru atau Halaman klasik. Namun, Halaman klasik tidak dapat mengomentari Halaman baru.
  • Untuk node-node berikut, endpoint /comments memberikan data kosong jika Anda membacanya dengan token akses Pengguna:
  • Kolom id untuk endpoint /PAGEPOST-ID/comments tidak akan ditampilkan lagi untuk aplikasi yang menggunakan fitur Akses Konten Publik Halaman. Untuk mengakses ID komentar untuk kiriman Halaman, Anda harus dapat melakukan tugas MODERATOR di Halaman yang di-kueri.
  • Untuk objek yang memiliki puluhan ribu komentar, Anda mungkin akan menemui batas saat paginasi. Pelajari selengkapnya tentang pembuatan halaman dalam Panduan Menggunakan Graph API.

Contoh

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
}];

Parameter

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
}];
Parameter Deskripsi

summary

bool

Ringkasan metadata tentang komentar pada objek. Yang penting, metada ini mencakup order yang menunjukkan cara pengurutan komentar.

filter

enum { toplevel, stream }

Jika seseorang dapat membalas komentar, Anda dapat memfilter komentar berdasarkan komentar level teratas, komentar yang dibuat langsung pada postingan, atau urutan kronologis semua komentar.

  • toplevel - Ini default-nya. Ini menampilkan komentar level teratas secara kronologis, seperti pengurutan pada Facebook. Filter ini berguna untuk menampilkan komentar dalam struktur yang sama seperti di Facebook.
  • stream - Komentar segala tingkat dalam urutan chronological. Filter ini berguna untuk fitur moderasi komentar yang perlu melihat daftar kronologis semua komentar.

Kolom

Sebuah susunan objek Komentar di samping kolom berikut saat summary adalah true dalam permintaan.

Kolom Deskripsi

order

enum { chronological, reverse_chronological }

Urutan komentar saat ditampilkan.

  • chronological: Komentar diurutkan dengan komentar paling lama ditampilkan terlebih dahulu.
  • reverse_chronological: Komentar diurutkan dengan komentar terbaru ditampilkan terlebih dahulu.

total_count

int32

Jumlah komentar pada node ini. Penting untuk diketahui bahwa nilai ini berubah sesuai dengan filter yang digunakan (ketika ada balasan komentar):

  • jika filter adalah stream, total_count akan menjadi jumlah semua komentar (termasuk balasan) pada node.
  • jika filter adalah toplevel, total_count akan menjadi jumlah semua komentar tingkat atas pada node.

Perhatikan: total_count dapat lebih besar atau sama dengan jumlah komentar yang ditampilkan karena privasi komentar atau penghapusan.

Penerbitan

Terbitkan komentar baru untuk objek mana saja.

Pengalaman Halaman Baru

Endpoint /comments objek berikut didukung untuk Pengalaman Halaman Baru:

  • Komentar
  • Postingan Halaman
  • Foto
  • Postingan
  • Postingan Komentar
  • Video

Izin

  • Token akses Halaman yang diminta oleh orang yang dapat melakukan tugas MODERATE di Halaman
  • Izin pages_manage_engagement

Harap diketahui, kolom can_comment pada setiap objek komentar menunjukkan apakah komentar itu bisa dibalas.

Contoh

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
}];

Kolom

Nama Deskripsi

attachment_id

string

ID opsional sebuah foto yang tidak diterbitkan (lihat kolom no_story dalam /{user-id}/photos) yang diunggah ke Facebook untuk disertakan sebagai komentar foto. Salah satu dari attachment_id, attachment_share_url, attachment_url, message, atau source harus disediakan saat menerbitkan.

attachment_share_url

string

URL GIF untuk disertakan sebagai komentar GIF animasi. Salah satu dari attachment_id, attachment_share_url, attachment_url, message, atau source harus disediakan saat menerbitkan.

attachment_url

string

URL gambar untuk disertakan sebagai komentar foto. Salah satu dari attachment_id, attachment_share_url, attachment_url, message, atau source harus disediakan saat menerbitkan.

source

multipart/form-data

Foto, yang dienkode sebagai data formulir, untuk digunakan sebagai komentar foto. Salah satu dari attachment_id, attachment_share_url, attachment_url, message, atau source harus disediakan saat menerbitkan.

message

string

Teks komentar. Salah satu dari attachment_id, attachment_share_url, attachment_url, message, atau source harus disediakan saat menerbitkan.

Sebut Halaman Facebook lain dalam teks message Anda menggunakan sintaksis berikut:

@[page-id]

Penggunaan fitur ini akan ditinjau.

Jenis Pengembalian

Jika berhasil, Anda akan menerima tanggapan JSON dengan ID komentar yang baru dibuat. Selain itu, endpoint ini mendukung read-after-write (RAW) dan dapat langsung menampilkan kolom apa pun yang diberikan oleh operasi baca.

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

Memperbarui

Anda tidak dapat memperbarui dengan edge ini.

Menghapus

Anda tidak dapat menghapus dengan edge ini.

Hapus komentar individu menggunakan endpoint /comment-id.