/{comment-id}
Un objeto comment
se puede dejar en diferentes tipos de contenido en Facebook. La mayoría de los nodos de la API Graph tienen un perímetro /comments
que enumera todos los comentarios de ese objeto. El nodo /{comment-id}
devuelve un objeto comment
único.
Esta API es compatible con la nueva experiencia para páginas.
Generales: para leer un comentario, normalmente necesitas los mismos permisos que se requieren para ver el objeto al que se añadió el comentario.
Respuestas: si se trata de un comentario que es una respuesta a otro, los permisos necesarios se aplican al objeto al que se añadió el comentario principal.
Comentarios y respuestas propiedad de una página: en el caso de los comentarios o respuestas que sean propiedad de una página, debes usar un identificador de acceso a la página si quieres que la información de usuario se incluya en la respuesta.
El formato del identificador de comentario de publicación de la página ({page-id}_{post_id}_{comment-id}
) se ha retirado. Debes utilizar el formato {pagepost-id}_{comment-id}
en su lugar.
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
}];
Nombre de la propiedad | Descripción | Tipo |
---|---|---|
| Identificador del comentario. |
|
| Enlace, vídeo, sticker o foto que se adjunta al comentario. | |
| Indica si el usuario puede responder al comentario. |
|
| Indica si el usuario puede eliminar el comentario. |
|
| Indica si el usuario puede ocultar el comentario. Solo es visible para el administrador de la página. |
|
| Indica si el usuario puede indicar que le gusta el comentario. |
|
| Indica si el usuario puede enviar una respuesta privada al comentario (solo para usuarios de la página). |
|
| Número de respuestas al comentario. |
|
| Hora en que se realizó el comentario. |
|
| Persona que realizó el comentario. | |
| Número de veces que los usuarios indicaron que les gusta el comentario. |
|
| Texto del comentario. |
|
| Matriz de perfiles etiquetados en el objeto |
|
| Comentario de una publicación que contiene una foto o un vídeo, incluidos los de las publicaciones dinámicas. Si el comentario no tiene fotos o vídeos, esta propiedad está vacía. |
|
| Comentario al que se responde en el caso de las respuestas a comentarios. | |
| URL del enlace permanente del comentario. Si la aplicación que hace la llamada solo tiene la función Acceso al contenido público de la página, no se devolverá en las consultas de la versión 20.0 ni posteriores. Este cambio se aplica a las consultas de todas las versiones a partir del 19 de agosto de 2024. |
|
| Obtiene la conversación entre la página y el autor del comentario en el caso de los comentarios con respuestas privadas (solo para usuarios de la página). | |
| Señala si el usuario ha indicado que le gusta el comentario. |
|
Cuando el perímetro /comments
está presente en un nodo, puedes utilizarlo para publicar comentarios.
Para eliminar un comentario, puedes utilizar el extremo siguiente:
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
}];
Esta API es compatible con la nueva experiencia para páginas.
Para eliminar un comentario publicado por una página, necesitarás lo siguiente:
pages_read_engagement
. pages_manage_engagement
. Para eliminar un comentario publicado por un usuario u otra página, necesitarás lo siguiente:
pages_manage_engagement
. pages_read_user_content
. Las opiniones no son publicaciones de la página, de modo que una página no puede eliminar los comentarios de las opiniones.
Si la operación se completa correctamente:
{ "success": true }
De lo contrario, se devolverá el mensaje de error pertinente.
Para editar un comentario, puedes utilizar el extremo siguiente:
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
}];
Esta API es compatible con la nueva experiencia para páginas.
pages_read_engagement
. pages_manage_engagement
. Puedes ocultar la mayoría de los comentarios de publicaciones, salvo en los siguientes casos:
En el momento de la actualización, se debe proporcionar uno de los siguientes campos: attachment_url
, attachment_id
, message
o attachment_share_url
.
Debes incluir un mensaje o un archivo adjunto. El archivo adjunto se puede especificar mediante un campo url
, attachment_id
o attachment_share_url
. Puedes incluir los campos id
y url
juntos. Si incluyes el campo attachment_share_url
, no debes incluir los demás.
En el momento de la actualización, debes incluir todos los valores presentes en el contenido original. Si no incluyes uno de ellos, se eliminará del contenido después de la actualización. Por ejemplo, si actualizas un comentario que tiene una imagen que se especificó mediante el campo attachment_url
y no lo incluyes en la actualización, la imagen se eliminará.
La actualización admite los campos que se enumeran en la sección de publicación del objeto /object/comments
. Entre ellos, se incluyen los siguientes: attachment_url
, attachment_id
, message
y source
. Consulta ese documento para obtener más información sobre estos campos.
La actualización también admite el campo is_hidden
, que se presenta a continuación.
Nombre | Descripción | Tipo |
---|---|---|
| Indica si el comentario está oculto o es visible. La persona que publicó originalmente el comentario todavía lo puede ver, así como el administrador de la página y cualquier persona etiquetada en él. |
|
Si la operación se realiza correctamente, recibirás una respuesta con la información siguiente. Además, este extremo admite la operación de lectura después de la escritura y puede devolver inmediatamente cualquier campo que devuelvan las operaciones de lectura.
{ "success": true }
Si la operación no se realiza correctamente, se devolverá el correspondiente mensaje de error.
Nombre de la propiedad | Descripción | Tipo |
---|---|---|
/comments | Comentarios que responden al comentario. | Edge<Comment> |
/likes | Personas que han indicado que les gusta el comentario. | Edge<Profile> |
/reactions | Personas que han reaccionado a la publicación. | Edge<Reaction> |
/private_replies | Se usa para enviar una respuesta a este comentario mediante un mensaje privado (solo para usuarios de la página). | Edge<Message> |