Versione API Graph

/{comment-id} del commento

È possibile aggiungere comment a vari tipi di contenuti su Facebook. La maggior parte dei nodi dell'API Graph ha un segmento /comments che elenca tutti i commenti sull'oggetto specifico. Il nodo /{comment-id} restituisce un singolo comment.

Lettura

Nuova esperienza della Pagina

Questa API è supportata per la nuova esperienza della Pagina.

Autorizzazioni

  • Generale: per leggere un commento, in genere devi disporre delle stesse autorizzazioni richieste per la visualizzazione dell'oggetto a cui è stato aggiunto il commento.

  • Risposte: se il commento è una risposta a un altro commento, le autorizzazioni richieste si applicano all'oggetto a cui è stato aggiunto il commento principale.

  • Commenti e risposte di proprietà della Pagina: per eventuali commenti o risposte di proprietà di (su) una Pagina, devi utilizzare un token d'accesso della Pagina se desideri che le informazioni sull'utente siano incluse nella risposta.

Il formato ID dei commenti sul post della Pagina, {page-id}_{post_id}_{comment-id}, è diventato obsoleto. Usa il formato {pagepost-id}_{comment-id} al suo posto.

Tool di esplorazione per la API Graph
GET /v21.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
}];

Campi

Nome della proprietà Descrizione Tipo

id

ID del commento.

string

attachment

Link, video, adesivo o foto allegati al commento.

StoryAttachment

can_comment

Se l'utente che visualizza il commento può inviare una risposta ad esso.

bool

can_remove

Se l'utente che visualizza il commento lo può rimuovere.

bool

can_hide

Se l'utente che visualizza il commento lo può nascondere. Visibile solo a un amministratore della Pagina.

boolean

can_like

Se l'utente che visualizza il commento può mettere "Mi piace" ad esso.

boolean

can_reply_privately

Se l'utente che visualizza il commento può inviare una risposta privata ad esso (solo per gli utenti che visualizzano la Pagina).

boolean

comment_count

Numero di risposte a questo commento.

int32

created_time

L'ora in cui è stato pubblicato il commento.

datetime

from

La persona che ha pubblicato il commento.

User

like_count

Numero di "Mi piace" al commento.

int32

message

Testo del commento.

string

message_tags

Un array di profili taggati in message.

object[]

id

ID del profilo che è stato taggato.

string

name

Il testo utilizzato nel tag.

string

type

Indica quale tipo di profilo è stato taggato.

enum{user, page, group}

offset

Se il primo carattere del testo taggato è nel message, misurato in punti codice unicode.

integer

length

Quantità di punti codice unicode di cui è costituito questo tag, dopo l'offset.

integer

object

Il commento su un post che contiene una foto o un video, compresi quelli nei post dinamici. In caso contrario, è vuoto.

Object

parent

Per le risposte al commento, questo è il commento a cui è stata aggiunta questa risposta.

Comment

permalink_url

URL permalink del commento.

Se l'app per le chiamate ha solo la funzione Accesso ai contenuti pubblici della Pagina , non verrà restituita nelle query della versione 20.0 e successive. Questa modifica si applica alle query di tutte le versioni a partire dal 19 agosto 2024.

string

private_reply_conversation

Per i commenti con risposte private, ottiene la conversazione tra la Pagina e l'autore del commento (solo per gli utenti che visualizzano la Pagina).

Conversation

user_likes

Se l'utente che visualizza il commento ha messo "Mi piace" ad esso.

bool

Pubblicazione

Puoi pubblicare commenti utilizzando il segmento /comments quando è presente su un nodo.

Eliminazione

Puoi eliminare un commento utilizzando il seguente endpoint:

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

Nuova esperienza della Pagina

Questa API è supportata per la nuova esperienza della Pagina.

Requisiti

Per eliminare un commento pubblicato da una Pagina, avrai bisogno di:

  • un token d'accesso della Pagina richiesto da un utente che può eseguire l'attività "MODERATE" sulla Pagina;
  • autorizzazione pages_read_engagement;
  • autorizzazione pages_manage_engagement.

Per eliminare un commento pubblicato da un utente o da un'altra Pagina, avrai bisogno di:

  • un token d'accesso della Pagina richiesto da un utente che può eseguire l'attività "MODERATE" sulla Pagina;
  • autorizzazione pages_manage_engagement.
  • autorizzazione pages_read_user_content.

Limitazioni

Le recensioni non sono post della Pagina, quindi i relativi commenti non possono essere rimossi da essa.

Risposta

Se l'operazione va a buon fine:

{
  "success": true
}

In caso contrario viene restituito un messaggio di errore pertinente.

Aggiornamento

Puoi modificare un commento utilizzando il seguente endpoint:

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

Nuova esperienza della Pagina

Questa API è supportata per la nuova esperienza della Pagina.

Autorizzazioni

  • un token d'accesso della Pagina richiesto da un utente che può eseguire l'attività "MODERATE" sulla Pagina;
  • autorizzazione pages_read_engagement;
  • autorizzazione pages_manage_engagement.

Nascondere i commenti

Puoi nascondere la maggior parte dei commenti sui post con le seguenti eccezioni:

  • Commenti pubblicati dalla Pagina
  • Commenti pubblicati dagli amministratori della Pagina
  • Commenti pubblicati dalla Pagina sul post di un utente (il post è di proprietà dell'utente)
  • Commenti pubblicati da qualsiasi utente sul post di un altro utente sulla Pagina (il post è di proprietà dell'utente)
  • Commenti pubblicati dal creatore di un evento (il post è di proprietà del creatore dell'evento)
  • Commenti pubblicati da un gruppo Facebook (il post è di proprietà del gruppo)
  • Commenti pubblicati da chiunque su una recensione

Campi

Quando si esegue l'aggiornamento, è necessario fornire uno tra attachment_url, attachment_id, message o attachment_share_url.

Devi includere un messaggio o un allegato. Un allegato può essere un url, un attachment_id o un attachment_share_url. Puoi includere un id e un url insieme. Se includi un attachment_share_url, non devi includere gli altri.

Durante l'aggiornamento, devi includere tutti i valori presenti nel contenuto originale. Se non includi uno di questi valori, il valore escluso verrà rimosso dal contenuto dopo l'aggiornamento. Ad esempio, se aggiorni un commento che ha un'immagine che è stata specificata tramite attachment_url e non lo includi nell'aggiornamento, l'immagine verrà rimossa.

L'aggiornamento supporta i campi elencati nella sezione pubblicazione di /object/comments. Sono inclusi i campi attachment_url, attachment_id, message e source. Consulta il relativo documento per i dettagli su questi campi.

L'aggiornamento supporta anche il campo is_hidden illustrato qui.

Nome Descrizione Tipo

is_hidden

Se questo commento è nascosto o visibile. L'utente che ha pubblicato il commento originale può ancora vedere il commento, insieme all'amministratore della Pagina e a tutti gli altri utenti taggati nel commento.

boolean

Risposta

In caso di esito positivo, riceverai una risposta con le seguenti informazioni. Inoltre, questo endpoint supporta la modalità RAW e può restituire immediatamente tutti i campi restituiti dalle operazioni di lettura.

{
  "success": true
}

In caso contrario, verrà restituito un messaggio di errore pertinente.

Segmenti

Nome della proprietà Descrizione Tipo
/comments

Commenti in risposta a questo commento.

Edge<Comment>
/likes

Persone che hanno messo "Mi piace" a questo commento.

Edge<Profile>
/reactions

Le persone che hanno aggiunto una reazione a questo post.

Edge<Reaction>
/private_replies

Utilizzato per inviare un messaggio privato come risposta a questo commento (solo per gli utenti che visualizzano la Pagina).

Edge<Message>