Graph API-Version

Kommentar /{comment-id}

Kommentare (comment) können zu verschiedenen Content-Typen auf Facebook abgegeben werden. Die meisten Graph API-Nodes umfassen eine /comments-Edge, die alle Kommentar zu einem Objekt angibt. Der /{comment-id}-Node gibt einen einzelnen comment zurück.

Lesen

Neue Seitenversion

Diese API wird für die neue Seitenversion unterstützt.

Berechtigungen

  • Allgemein: Zum Lesen eines Kommentars benötigst du in der Regel die gleichen Berechtigungen, die auch zum Anzeigen des kommentierten Objekts erforderlich sind.

  • Antworten: Wenn dieser Kommentar als Antwort auf einen anderen Kommentar abgegeben wurde, benötigst du die Berechtigungen für das Objekt des übergeordneten Kommentars.

  • Kommentare und Antworten einer Seite: Bei Kommentaren und Antworten auf einer Seite musst du einen Seiten-Zugriffsschlüssel verwenden, wenn du Nutzerinformationen in der Antwort sehen möchtest.

Das Kommentar-ID-Format für Seitenbeiträge {page-id}_{post_id}_{comment-id} wurde eingestellt. Verwende stattdessen das Format {pagepost-id}_{comment-id}.

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

Felder

Eigenschaftsname Beschreibung Typ

id

Die Kommentar-ID.

string

attachment

An den Kommentar angehängte Links, Videos, Sticker oder Fotos.

StoryAttachment

can_comment

Gibt an, ob Betrachter auf diesen Kommentar antworten können.

bool

can_remove

Gibt an, ob Betrachter diesen Kommentar entfernen können.

bool

can_hide

Gibt an, ob Betrachter diesen Kommentar verbergen können. Nur für einen Seiten-Admin sichtbar.

boolean

can_like

Gibt an, ob Betrachter diesen Kommentar mit „Gefällt mir“ markieren können.

boolean

can_reply_privately

Gibt an, ob Betrachter eine private Antwort auf diesen Kommentar senden können (nur Seitenaufrufe).

boolean

comment_count

Die Anzahl der Antworten auf diesen Kommentar.

int32

created_time

Der Zeitpunkt, zu dem dieser Kommentar verfasst wurde.

datetime

from

Die Person, die den Kommentar verfasst hat.

User

like_count

Die Anzahl der „Gefällt mir“-Angaben für diesen Kommentar.

int32

message

Der Kommentartext.

string

message_tags

Ein Array von mit message markierten Profilen.

object[]

id

Die ID des markierten Profils.

string

name

Der für die Markierung verwendete Text.

string

type

Der Typ des Profils, das markiert wurde.

enum{user, page, group}

offset

Gibt die Position des ersten Zeichens des markierten Texts in der message an, gemessen in Unicode-Codepunkten.

integer

length

Gibt an, wie viele Unicode-Codepunkte diese Markierung nach dem Offset enthält.

integer

object

Der Kommentar zu einem Beitrag mit einem Foto oder Video, einschließlich in dynamischen Beiträgen. Ansonsten ist das Feld leer.

Object

parent

Bei Antworten auf Kommentare ist das der Kommentar, auf den geantwortet wird.

Comment

private_reply_conversation

Bei Kommentaren mit privaten Antworten wird hiermit die Unterhaltung zwischen der Seite und dem Verfasser des Kommentars abgerufen (nur bei Seitenaufrufen).

Conversation

user_likes

Gibt an, ob Betrachter den Kommentar mit „Gefällt mir“ markiert haben.

bool

Veröffentlichung

Du kannst Kommentare mit der /comments-Edge veröffentlichen, wenn diese auf einem Node vorhanden ist.

Löschen

Du kannst einen Kommentar mit dem folgenden Endpunkt löschen:

DELETE /v19.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
}];

Neue Seitenversion

Diese API wird für die neue Seitenversion unterstützt.

Anforderungen

Um einen von einer Seite veröffentlichten Kommentar zu löschen, benötigst du Folgendes:

  • Einen Seiten-Zugriffsschlüssel, der von einer Person angefordert wurde, die die „MODERATE“-Aufgabe auf der Seite ausführen kann
  • Die Berechtigung pages_read_engagement
  • Die Berechtigung pages_manage_engagement

Um einen von einem Nutzer oder einer anderen Seite veröffentlichten Kommentar zu löschen, benötigst du Folgendes:

  • Einen Seiten-Zugriffsschlüssel, der von einer Person angefordert wurde, die die „MODERATE“-Aufgabe auf der Seite ausführen kann
  • Die Berechtigung pages_manage_engagement
  • Die Berechtigung pages_read_user_content

Einschränkungen

Bewertungen sind keine Seitenbeiträge. Daher können Kommentare zu Bewertungen nicht von einer Seite entfernt werden.

Antwort

Bei Erfolg:

{
  "success": true
}

Ansonsten wird eine entsprechende Fehlermeldung ausgegeben.

Aktualisieren

Du kannst einen Kommentar mit dem folgenden Endpunkt bearbeiten:

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

Neue Seitenversion

Diese API wird für die neue Seitenversion unterstützt.

Berechtigungen

  • Einen Seiten-Zugriffsschlüssel, der von einer Person angefordert wurde, die die „MODERATE“-Aufgabe auf der Seite ausführen kann
  • Die Berechtigung pages_read_engagement
  • Die Berechtigung pages_manage_engagement

Kommentare verbergen

Die meisten Kommentare zu Beiträgen lassen sich verbergen. Ausnahmen:

  • Kommentare von der Seite.
  • Kommentare von den Administratoren der Seite.
  • Kommentare von der Seite zum Beitrag eines Nutzers. Der Nutzer ist Eigentümer des Beitrags.
  • Kommentare von einem beliebigen Nutzer zum Beitrag eines anderen Nutzers auf der Seite. Der Nutzer ist Eigentümer des Beitrags.
  • Kommentare von einem Event-Ersteller. Der Event-Ersteller ist Eigentümer des Beitrags.
  • Kommentare von einer Facebook-Gruppe. Die Gruppe ist Eigentümer des Beitrags.
  • Kommentare von einem beliebigen Nutzer zu einer Bewertung.

Felder

Bei der Aktualisierung musst du attachment_url, attachment_id, message oder attachment_share_url angeben.

Du musst entweder eine Nachricht oder einen Anhang mit aufnehmen. Ein Anhang kann eine url, attachment_id oder attachment_share_url sein. Du kannst id zusammen mit url angeben. attachment_share_url darf nur alleine aufgenommen werden.

Bei Aktualisierungen musst du alle Werte des ursprünglichen Inhalts angeben. Wenn du einen der Werte vergisst, wird er nach der Aktualisierung aus dem Inhalt entfernt. Wenn du beispielsweise einen Kommentar mit einem Bild aktualisierst, das über attachment_url angegeben wurde, und der entsprechende Wert in der Aktualisierung fehlt, wird das Bild entfernt.

Die bei der Aktualisierung unterstützten Felder sind im Veröffentlichungsabschnitt von /object/comments aufgeführt. Sie umfassen attachment_url, attachment_id, message und source. Details zu diesen Feldern findest du in diesem Dokument.

Außerdem wird das hier beschriebene Feld is_hidden beim Aktualisieren unterstützt.

Name Beschreibung Typ

is_hidden

Gibt an, ob dieser Kommentar verborgen oder sichtbar ist. Die Person, die den ursprünglichen Beitrag veröffentlicht hat, kann den Kommentar noch sehen, ebenso der Seiten-Admin und alle im Kommentar markierten Nutzer.

boolean

Antwort

Bei Erfolg erhältst du eine Antwort mit den folgenden Informationen. Darüber hinaus unterstützt dieser Endpunkt read-after-write. Außerdem können alle von Lesevorgängen zurückgegebenen Felder sofort ausgegeben werden.

{
  "success": true
}

Wenn der Vorgang nicht erfolgreich ist, wird eine entsprechende Fehlermeldung ausgegeben.

Edges

Eigenschaftsname Beschreibung Typ
/comments

Kommentare als Antwort auf diesen Kommentar.

Edge<Comment>
/likes

Personen, denen dieser Kommentar gefällt.

Edge<Profile>
/reactions

Personen, die auf diesen Beitrag reagiert haben.

Edge<Reaction>
/private_replies

Hiermit wird eine private Antwort auf diesen Kommentar gesendet (nur Seitenaufrufe).

Edge<Message>