API Graph versión

/{object-id}/likes

Esta referencia describe el perímetro /likes, común a muchos nodos de la API Graph. La estructura y las operaciones son iguales en todos los nodos. Los siguientes objetos tienen un perímetro /likes:

Lectura

Devuelve la lista de personas a las que le gustó este objeto. Cuando se leen los "Me gusta" en un objeto de página o de usuario, este punto de conexión devuelve una lista de las páginas que esa página o ese usuario indicó que le gustan.

Usa el campo likes de un objeto para obtener la cantidad de "Me gusta".

Te recomendamos usar el punto de conexión /object/reactions para obtener cantidades de “Me gusta” si está disponible.

Nueva experiencia para páginas

Se admiten los siguientes puntos de conexión de /likes de objetos en la nueva experiencia para páginas:

  • Usuario

Requisitos

  • Para ver los "Me gusta" del objeto principal, se necesitan los mismos requisitos que para ver el objeto.

Limitaciones

  • Para los "Me gusta" de publicaciones, solo están disponibles los recuentos agregados que usan total_count con el parámetro summary.
  • Los recuentos de reacciones like incluyen tanto las reacciones de "Me gusta" como las de "Me importa".
  • Sin embargo, total_count representa el número aproximado de "Me gusta". El número real devuelto puede variar según la configuración de privacidad.
  • Los puntos de conexión GET /{group-post-id}/likes y GET /{post-id}/likes quedaron obsoletos en la versión 8.0 y en las versiones posteriores, así como en todas las versiones a partir del 2 de noviembre de 2020.

Campos

Nombre de la propiedad Descripción Tipo

total_count

Cantidad total de "Me gusta" de usuarios y páginas en el objeto. Para que se devuelva este campo, debes incluir el parámetro y el valor summary=true en la solicitud.

int32

Ejemplo de uso

Ejemplo de solicitud
curl -i -X GET "https://graph.facebook.com/{object-id}
  ?fields=likes.summary(true)
  &access_token={access-token}"

Ejemplo de respuesta

  {
  "likes": {
    "data": [
      {
        "name": "Bill the Cat",
        "id": "155111347875779",
        "created_time": "2017-06-18T18:21:04+0000"
      },
      {
        "name": "Calvin and Hobbes",
        "id": "257573197608192",
        "created_time": "2017-06-18T18:21:02+0000"
      },
      {
        "name": "Berkeley Breathed's Bloom County",
        "id": "108793262484769",
        "created_time": "2017-06-18T18:20:58+0000"
      }
    ],
    "paging": {
      "cursors": {
        "before": "Nzc0Njg0MTQ3OAZDZD",
        "after": "NTcxODc1ODk2NgZDZD"
      },
      "next": "https://graph.facebook.com/vX.X/me/likes?access_token=user-access-token&pretty=0&summary=true&limit=25&after=NTcxODc1ODk2NgZDZD"
    },
    "summary": {
      "total_count": 136
    }
  },
  "id": "user-id"
}

Publicación

Dar "Me gusta" a un objeto.

Nueva experiencia para páginas

Se admiten los siguientes puntos de conexión de /likes de objetos en la nueva experiencia para páginas:

POST /v21.0/{object-id}/likes HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{object-id}/likes',
    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(
    "/{object-id}/likes",
    "POST",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/likes",
    null,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/likes"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Permisos

  • Un token de acceso a la página solicitado por una persona que pueda realizar la tarea CREATE_CONTENT en la página
  • El permiso pages_manage_engagement

Limitaciones

  • La página también debe tener permiso para indicar que el objeto le gusta (mediante la API o en Facebook.com).
  • Es preciso que la página no haya indicado anteriormente que el objeto le gustaba.
  • Si la página ya reaccionó al objeto (Me asombra, Me enoja) el "Me gusta" será satisfactorio, pero la reacción no cambiará.
  • No se admiten los "Me gusta" en revisiones de una página.

Campos

No hay ningún campo obligatorio para agregar "Me gusta".

Respuesta

Si la operación se completa correctamente, tu app recibirá la siguiente respuesta:

{
  "success": true
}

Actualización

No es posible realizar esta operación en este punto de conexión.

Eliminación

Eliminar los "Me gusta" de objetos de la página con este extremo.

DELETE /v21.0/{object-id}/likes 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(
    '/{object-id}/likes',
    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(
    "/{object-id}/likes",
    "DELETE",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/likes",
    null,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/likes"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Permisos

  • Un token de acceso a la página solicitado por una persona que pueda realizar la tarea MODERATE en la página
  • El permiso pages_manage_engagement

Limitaciones

  • Un usuario o una página solo pueden eliminar sus propios likes.
  • Es preciso que el usuario o la página haya indicado que el objeto le gusta anteriormente.
  • No se admite eliminar los "Me gusta" de revisiones de una página.

Campos

No hay campos en este extremo.

Respuesta

Si la operación se completa correctamente, tu app recibirá la siguiente respuesta:

{
  "success": true
}