Versão Graph API

/{object-id}/comments

Esta referência descreve a borda /comments, comum a vários nós da Graph API. A estrutura e as operações são as mesmas para cada nó. Os seguintes objetos têm uma borda /comments:

Os objetos de comentários podem ter a borda /comments, chamada de respostas a comentários. A estrutura é a mesma, mas é necessário ter atenção com os modificadores dessas bordas.

Leitura

Retorna um comentário em um objeto.

O campo id do ponto de extremidade /PAGEPOST-ID/comments não será mais retornado para os apps que usarem o recurso Acesso ao Conteúdo Público da Página. Para acessar os IDs dos comentários de uma publicação da Página, é necessário executar a tarefa MODERATE na Página que está sendo consultada. Essa alteração está em vigor para a v11.0 e superiores. Ela será implementada para todas as versões em 7 de setembro de 2021.

Nova experiência de Página

Estes objetos do ponto de extremidade /comments são compatíveis com a nova experiência de Página:

  • Album
  • Comment
  • Link
  • Page
  • PagePost
  • Photo
  • Post
  • PostComment

Permissões

  • As mesmas permissões necessárias para visualizar o objeto principal são necessárias para visualizar comentários nesse objeto.

Limitações

  • As informações e os comentários dos perfis de outros usuários não serão retornados ao acessar publicações, fotos, álbuns, vídeos, curtidas e reações, a menos que autorizado por eles.
  • Os comentários retornados em uma consulta são baseados na filtragem padrão. Para obter todos os comentários que podem ser retornados com base nas suas permissões, defina o parâmetro filter como stream ou use o campo order.
  • Uma nova Página pode comentar em novas Páginas ou em Páginas clássicas. No entanto, uma Página clássica não pode comentar em uma nova Página.
  • O ponto de extremidade /comments retornará dados vazios caso ele seja lido com um token de acesso do usuário nos seguintes nós:
  • O campo id do ponto de extremidade /PAGEPOST-ID/comments não será mais retornado para os apps que usarem o recurso Acesso ao Conteúdo Público da Página. Para acessar os IDs dos comentários de uma publicação da Página, é necessário executar a tarefa MODERATE na Página que está sendo consultada.
  • Para objetos que têm dezenas de milhares de comentários, você pode encontrar limites ao fazer paginação. Saiba mais sobre como fazer paginação no guia de uso da Graph API.

Exemplo

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

Parâmetros

GET /v19.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
}];
Parâmetro Descrição

summary

booliano

Um resumo de metadados sobre os comentários no objeto. É importante destacar que esses metadados incluem order, que indica como os comentários estão sendo classificados.

filter

enumeração { toplevel, stream }

Se uma pessoa consegue responder a um comentário, você pode fazer filtros com base em comentários de alto nível, comentários feitos diretamente na publicação ou todos os comentários em ordem cronológica.

  • O padrão é toplevel. Ele retorna todos os comentários de alto nível em ordem cronológica, na mesma ordem do Facebook. Esse filtro é útil para exibir comentários na mesma estrutura que aparecem no Facebook.
  • stream – comentários de todos os níveis em ordem chronological. Esse filtro é útil para ferramentas de moderação de comentários, em que fica fácil ver uma lista cronológica de todos os comentários.

Campos

Uma matriz de objetos de comentários, além dos campos listados a seguir quando summary for true na solicitação.

Campo Descrição

order

enumeração { chronological, reverse_chronological }

A ordem em que os comentários são retornados.

  • chronological: os comentários mais antigos são classificados em primeiro lugar.
  • reverse_chronological: os comentários mais recentes são classificados em primeiro lugar.

total_count

int32

A contagem de comentários neste nó. É importante observar que este valor muda dependendo do filter que será usado (em que respostas a comentários estão disponíveis):

  • Se filter for stream, total_count será uma contagem de todos os comentários (incluindo respostas) no nó.
  • Se filter for toplevel, total_count será uma contagem de todos os comentários de alto nível no nó.

Observação: devido à exclusão ou à privacidade de comentários, total_count pode ser maior ou igual ao número real de comentários retornados.

Publicação

Publique novos comentários em qualquer objeto.

Nova experiência de Página

Estes objetos do ponto de extremidade /comments são compatíveis com a nova experiência de Página:

  • Comments
  • PagePosts
  • Photo
  • Post
  • PostComment
  • Video

Permissões

  • Um token de acesso à Página solicitado por uma pessoa que pode executar a tarefa MODERATE na Página.
  • A permissão pages_manage_engagement.

Observação: o campo can_comment em objetos de comentário indica se é possível ou não responder ao comentário em questão.

Exemplo

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

Campos

Nome Descrição

attachment_id

string

Um ID opcional de foto não publicada (consulte o campo no_story em /{user-id}/photos) que foi carregada no Facebook para ser incluída no comentário. É necessário fornecer uma destas opções ao publicar: attachment_id, attachment_share_url, attachment_url, message ou source.

attachment_share_url

string

A URL de um GIF a ser incluído no comentário. É necessário fornecer uma destas opções ao publicar: attachment_id, attachment_share_url, attachment_url, message ou source.

attachment_url

string

A URL de uma imagem a ser incluída no comentário. É necessário fornecer uma destas opções ao publicar: attachment_id, attachment_share_url, attachment_url, message ou source.

source

multipart/form-data

Uma foto, codificada como dados de formulário, a ser incluída no comentário. É necessário fornecer uma destas opções ao publicar: attachment_id, attachment_share_url, attachment_url, message ou source.

message

string

O texto do comentário. É necessário fornecer uma destas opções ao publicar: attachment_id, attachment_share_url, attachment_url, message ou source.

Mencione outras Páginas do Facebook no texto message usando a seguinte sintaxe:

@[page-id]

O uso desse recurso está sujeito à análise.

Tipo de retorno

Se for bem-sucedido, você receberá uma resposta JSON com o ID do comentário recém-criado. Além disso, esse ponto de extremidade aceita leitura após gravação e pode retornar imediatamente todos os campos obtidos em operações de leitura.

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

Atualização

Não é possível fazer atualizações usando essa borda.

Exclusão

Não é possível excluir usando essa borda.

Para excluir comentários específicos, use o ponto de extremidade /comment-id.