Version API du graphe

Commentaire /{comment-id}

Sur Facebook, il est possible de laisser un comment sur différents types de contenus. Les nœuds de l’API Graph ont, pour la plupart, une arête /comments qui répertorie tous les commentaires laissés sur l’objet concerné. Le nœud /{comment-id} renvoie un comment unique.

Lecture

Nouvelle expérience des Pages

Cette API est compatible avec la nouvelle version des Pages.

Autorisations

  • Générales : pour lire un commentaire, vous avez généralement besoin des autorisations requises pour afficher l’objet auquel le commentaire a été ajouté.

  • Réponses : si le commentaire est une réponse à un autre commentaire, les autorisations requises sont celles qui s’appliquent à l’objet auquel le commentaire parent a été ajouté.

  • Commentaires et réponses sur des Pages : pour tout commentaire ou toute réponse appartenant à (ou figurant sur) une Page, vous devez utiliser un token d’accès de Page pour que les informations sur l’utilisateur soient intégrées à la réponse.

Le format d’ID de commentaire de publication de Page, {page-id}_{post_id}_{comment-id}, est désormais obsolète. Utilisez le format {pagepost-id}_{comment-id} à la place.

Explorateur de l’API Graph
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
}];

Champs

Nom de propriété Description Type

id

ID du commentaire

string

attachment

Lien, vidéo, sticker ou photo joint(e) au commentaire

StoryAttachment

can_comment

Indique si le lecteur peut répondre à ce commentaire

bool

can_remove

Indique si le lecteur peut supprimer ce commentaire

bool

can_hide

Indique si le lecteur peut masquer ce commentaire (visible uniquement pour un admin de Page)

boolean

can_like

Indique si le lecteur peut attribuer une mention « J’aime » à ce commentaire

boolean

can_reply_privately

Indique si le lecteur peut envoyer une réponse privée à ce commentaire (lecteurs de la Page uniquement)

boolean

comment_count

Nombre de réponses à ce commentaire

int32

created_time

Date et heure d’ajout de ce commentaire

datetime

from

Personne ayant ajouté ce commentaire

User

like_count

Nombre de mentions « J’aime » pour ce commentaire

int32

message

Texte du commentaire

string

message_tags

Tableau des profils identifiés dans le message

object[]

id

ID du profil identifié

string

name

Texte utilisé pour identifier le profil

string

type

Indique le type de profil identifié

enum{user, page, group}

offset

Emplacement du premier caractère du texte d’identification dans le message, mesuré en points de code unicode.

integer

length

Nombre de points de code unicode contenus dans ce tag, après décalage.

integer

object

Commentaire laissé sur une publication qui contient une photo ou une vidéo, y compris ceux ajoutés à des publications dynamiques. Sinon, cet objet est vide.

Object

parent

Pour les réponses à un commentaire, commentaire auquel la réponse a été ajoutée

Comment

private_reply_conversation

Pour les commentaires avec réponses privées, récupère la conversation entre la Page et l’auteur du commentaire (lecteurs de la Page uniquement)

Conversation

user_likes

Indique si le lecteur a aimé ce commentaire

bool

Publication

Vous pouvez publier des commentaires en utilisant l’arête /comments lorsqu’elle est présente sur le nœud concerné

Suppression

Vous pouvez supprimer un commentaire à l’aide du point de terminaison suivant :

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

Nouvelle expérience des Pages

Cette API est compatible avec la nouvelle version des Pages.

Conditions requises

Pour supprimer un commentaire publié par une Page, vous aurez besoin des éléments suivants :

  • Token d’accès de Page demandé par une personne autorisée à effectuer la tâche MODERATE
  • Autorisation pages_read_engagement
  • Autorisation pages_manage_engagement

Pour supprimer un commentaire publié par un utilisateur ou une autre Page, vous aurez besoin des éléments suivants :

  • Token d’accès de Page demandé par une personne autorisée à effectuer la tâche MODERATE
  • Autorisation pages_manage_engagement
  • Autorisation pages_read_user_content

Limitations

Les avis ne sont pas des publications de Page, donc les commentaires ajoutés à des avis ne peuvent pas être supprimés par une Page.

Réponse

En cas de réussite :

{
  "success": true
}

Dans le cas contraire, un message d’erreur approprié est renvoyé.

Mise à jour

Vous pouvez modifier un commentaire à l’aide du point de terminaison suivant :

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

Nouvelle expérience des Pages

Cette API est compatible avec la nouvelle version des Pages.

Autorisations

  • Token d’accès de Page demandé par une personne autorisée à effectuer la tâche MODERATE
  • Autorisation pages_read_engagement
  • Autorisation pages_manage_engagement

Masquer des commentaires

Vous pouvez masquer la plupart des commentaires laissés sur des publications, sauf dans les cas suivants :

  • Commentaires laissés par la Page
  • Commentaires laissés par les admins de la Page
  • Commentaires laissés par la Page sur la publication d’un utilisateur (la publication appartient à l’utilisateur)
  • Commentaires laissés par un utilisateur sur une publication ajoutée à la Page par un autre utilisateur (la publication appartient à l’utilisateur)
  • Commentaires laissés par un créateur d’évènement (la publication appartient au créateur d’évènement)
  • Commentaires laissés par un groupe Facebook (la publication appartient au groupe)
  • Commentaires laissés par tout utilisateur sur un avis

Champs

Lors de la mise à jour, vous devez fournir une attachment_url, un attachment_id, un message ou une attachment_share_url.

Vous devez inclure soit un message, soit une pièce jointe. Une pièce jointe peut être une url, un attachment_id ou une attachment_share_url. Vous pouvez inclure à la fois un id et une url. Si vous incluez une attachment_share_url, vous ne devez rien inclure d’autre.

Lors de la mise à jour, vous devez inclure toutes les valeurs associées au contenu original. Les valeurs non incluses seront supprimées du contenu après la mise à jour. Par exemple, si vous mettez à jour un commentaire contenant une image spécifiée via attachment_url et que vous n’incluez pas celle-ci dans la mise à jour, l’image sera supprimée.

La mise à jour prend en charge les champs répertoriés dans la section relative aux publications de /object/comments. Cela inclut les champs attachment_url, attachment_id, message et source. Veuillez consulter ce document pour plus d’informations sur ces champs.

La mise à jour prend également en charge le champ is_hidden documenté ici.

Nom Description Type

is_hidden

Indique si le commentaire est masqué ou visible. L’auteur original de la publication peut toujours voir le commentaire, tout comme l’admin de la Page et toutes les personnes identifiées dans le commentaire.

boolean

Réponse

En cas de réussite, vous recevez une réponse avec les informations suivantes : En outre, ce point de terminaison accepte la lecture après écriture et peut immédiatement renvoyer tous les champs issus des opérations de lecture.

{
  "success": true
}

En cas d’échec, un message d’erreur approprié est renvoyé.

Arêtes

Nom de la propriété Description Type
/comments

Commentaires répondant à ce commentaire

Edge<Comment>
/likes

Personnes qui aiment ce commentaire

Edge<Profile>
/reactions

Personnes ayant réagi à cette publication

Edge<Reaction>
/private_replies

Utilisé pour répondre en message privé à ce commentaire (lecteurs de la Page uniquement)

Edge<Message>