API Graph versión

Feed de página

Usa este punto de conexión para llegar a una página y publicar en ella. El feed de página incluye cualquier interacción con una página de Facebook, por ejemplo, publicaciones y enlaces incorporados en esta página, visitantes de esta página y publicaciones públicas en las que se etiquetó a la página.

Más información

Leer

Las publicaciones de una página de Facebook.

Nueva experiencia de página

Esta API es compatible con la nueva experiencia de páginas.

Requisitos

La persona que solicita el token de acceso debe poder realizar alguna de las siguientes tareas en la página:

  • CREATE_CONTENT: publicar contenido en la página actuando en nombre de ella
  • MANAGE: asignar y administrar tareas de la página
  • MODERATE:
    • Responder comentarios en las publicaciones de la página actuando en nombre de ella.
    • Eliminar comentarios en las publicaciones de la página.
    • Si una cuenta de Instagram está conectada a la página, publicar contenido en Instagram desde Facebook, responder a comentarios y eliminarlos, enviar mensajes directos, sincronizar la información de contacto de la empresa y crear anuncios.

También es necesario haber otorgado los siguientes permisos a la app:

Si no eres propietario o administrador de la página, necesitarás lo siguiente:

Cuando uses la función Acceso a contenido público de páginas, usa un token de acceso de usuario del sistema para evitar problemas de limitación de frecuencia.

Ejemplo de solicitud

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

Ejemplo de respuesta JSON

{
  "data": [
    {
      "created_time": "2019-05-17T16:24:04+0000",
      "message": "Become a Facebook developer!",
      "id": "{page-id}_2191966997525824"
    },
    {
      "created_time": "2019-02-26T21:35:42+0000",
      "message": "Hello world!",
      "id": "{page-id}_2072371269485398"
    },
...
    {
      "created_time": "2018-01-26T20:57:22+0000",
      "message": "Friday Funday!",
      "id": "{page-id}_1569752556413941"
    }
  ],
  "paging": {
    "cursors": {
      "before": "Q2c4U1pXNT...",
      "after": "Q2c4U1pXNT..."
    },
    "next": "https://graph.facebook.com/vX.X/{page-id}/feed?access_token={your-page-access-token}&pretty=0&limit=25&after=Q2c4U1pXNT..."
  }
}

Limitaciones

  • Publicaciones caducadas: si caducó una publicación, ya no podrás ver el contenido mediante la API Graph.
  • Cantidad máxima de publicaciones
    • La API devuelve aproximadamente 600 publicaciones hechas, clasificadas por año.
    • Solo puedes leer un máximo de 100 publicaciones de la lista con el campo limit. Si intentas leer más, recibirás un mensaje de error en el que se indicará que no puedes superar las 100 publicaciones.
  • Llamada a la acción de mensaje: las publicaciones con llamadas a la acción de mensaje no son accesibles mediante otro token de acceso a la página, ya que las páginas no pueden enviar mensajes a otras páginas.
  • Información de identificación pública: no se incluirá la información de usuario en las respuestas, a menos que hagas la solicitud con un token de acceso a la página.
  • Publicaciones realizadas: las publicaciones realizadas y no realizadas se devolverán cuando se consulte el punto de conexión "/{page-id}/feed". Usa el campo "is_published" para que se devuelvan solo publicaciones realizadas.
  • Publicaciones compartidas: es posible que una publicación de la página que comparte una publicación de otra página u otra persona no sea visible si la publicación original no es visible con el token de acceso utilizado.
  • Publicaciones etiquetadas: cuando usas /{page-id}/tagged para mostrar las publicaciones que etiquetaron a esta página, los resultados incluyen las publicaciones de otras páginas solo si estas son auténticas.
  • Agentes de usuario: los agentes de usuario disponibles permitidos en estas llamadas a la API Graph están sujetos a cambio sin previo aviso. Si tienes problemas, quizás debas cambiar a una versión más reciente del agente de usuario en particular.
  • Publicaciones de video: para obtener una lista de publicaciones de video, la persona que realiza la solicitud debe ser administradora de la página.
  • Reels: para obtener una lista de los reels publicados en tu página, usa el perímetro Page VideoReels.

Limitación: todas las publicaciones (realizadas y no realizadas) se retirarán del punto de conexión del feed. La única diferencia es que las publicaciones no realizadas no aparecerán en el feed físico. Sin embargo, se puede agregar el campo "is_published" al punto de conexión "/feed" para indicar a los desarrolladores si la publicación que aparece en el punto de conexión "/feed" se realizó o no.

Campos

NombreTipoDescripción
idstring

El identificador de la publicación.

actionsobject

Enlaces de acción en publicaciones, comentarios, Me gusta y contenido compartido.

admin_creatorobject

El creador y administrador de una publicación de la página. Si la página tiene un solo administrador, no se devolverá ningún dato. Requiere de un token de acceso a la página y el permiso business_management.

idint

Identificador de la persona, de la app y de la empresa.

namestring

Nombre de la persona, de la app y de la empresa.

allowed_advertising_objectsstring

Los únicos objetivos que rigen las condiciones en las que se puede publicitar la publicación.

applicationobject

Información sobre la app que publicó esta publicación.

attachmentsobject

Los adjuntos asociados a la historia. Consulta la referencia del nodo de adjunto de historia para obtener información sobre los campos attachments.

backdated_timefloat

La fecha anterior asignada para la publicación con fecha anterior. En caso de una publicación habitual, este campo debe estar configurado en "null".

call_to_actionobject

El tipo de llamada a la acción utilizada en la publicación de la página para anuncios de interacción con apps para celulares.

contextobject

El tipo de llamada a la acción utilizada en la publicación de la página de anuncios de interacción con apps para celulares.

can_reply_privatelyboolean

Si quien visualiza puede enviar una respuesta privada a esta publicación. Requiere del permiso read_page_mailboxes.

caption

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

string

La leyenda del enlace en una publicación que aparece debajo de name. Es necesario que caption sea una URL real y que refleje correctamente la URL y el anunciante o el negocio asociados que las personas visitan al hacer clic en la URL.

child_attachmentsobject

Contenido compartido secundario de una publicación compartida que incluye varios enlaces.

created_timefloat

El momento en que se hizo originalmente la publicación. En el caso de una publicación sobre un acontecimiento importante, es la fecha y la hora de ese acontecimiento.

description

Obsoleto para las publicaciones de la página a partir de la versión 3.3. Usa attachments{description} en su lugar.

string

Descripción de un enlace en la publicación (aparece debajo de caption).

feed_targetingobject

El objeto que controla la segmentación de feed de esta publicación. Cualquier persona de estos grupos tendrá más probabilidades de ver la publicación; otros tendrán menos probabilidades, aunque podrían verla de todos modos. Puede usarse cualquiera de los campos de segmentación que se muestran aquí; ninguno es obligatorio (rige solo para las páginas).

age_maxint

Edad máxima.

age_minint

Debe ser, como mínimo, 13 años. El valor predeterminado es 0.

citiesint

Valores de las ciudades de segmentación. Usa el type de adcity para buscar las opciones de segmentación y usa la key devuelta para especificar.

college_yearsint

Matriz de números enteros del año de graduación de la universidad.

countriesstring

Valores de los países de segmentación. Puedes especificar hasta 25 países. Usa los códigos de formato ISO 3166.

education_statusesint

Matriz de números enteros para segmentar según el nivel de formación. Usa 1 para estudios secundarios, 2 para estudios universitarios incompletos, y 3 para estudios universitarios completos (o equivalentes localizados).

gendersint

Segmenta por sexo. 1 segmenta a todos los varones y 2, a todas las mujeres. La opción predeterminada es segmentar ambos sexos.

interested_in

Obsoleto.

intIndica la segmentación a partir del campo "interested in" del perfil del usuario. Puedes especificar un número entero: "1" segmenta a los varones, y "2", a las mujeres. La opción predeterminada es segmentar ambos sexos. Ten presente que la segmentación por intereses no está disponible en la mayoría de los países europeos ni en Canadá debido a la legislación local.
interestsint

Uno o más identificadores de páginas para segmentar por fans de las páginas. Usa el tipo de página para obtener posibles identificadores como opciones de segmentación y utiliza el identificador devuelto para establecer la especificación.

localesint

Configuraciones regionales segmentadas. Usa el type de adlocale para buscar las opciones de segmentación y usa la key devuelta para establecer la especificación.

regionsarray

Valores de las regiones de segmentación. Usa el type de adregion para buscar las opciones de segmentación y usa la key devuelta para establecer la especificación.

relationship_statusesint

Matriz de enteros para segmentar según la situación sentimental. Usa 1 para las personas solteras, 2 para quienes están "en una relación", 3 para las personas casadas y 4 para las personas comprometidas. La opción predeterminada es segmentar ambos sexos.

from

object

El name e id de la página, grupo o evento que creó la publicación. Si leíste el campo con un token de acceso de usuario, solo devuelve el usuario actual.

full_picturestring

URL de una versión de tamaño completo de la foto publicada en la publicación o extraída desde un enlace en la publicación. Si la dimensión máxima de la foto supera los 720 píxeles, se cambiará el tamaño para configurar la dimensión más grande en 720.

iconstring

Enlace a un icono que representa el tipo de esta publicación.

instagram_eligibilityenum{}

Indica si la publicación puede promocionarse en Instagram. Si puede promocionarse, devuelve la enumeración eligible. De lo contrario, devuelve una enumeración de los motivos por los cuales no puede promocionarse.

  • ineligible_caption_mentions_not_allowed
  • ineligible_caption_too_long
  • ineligible_media_aspect_ratio
  • ineligible_media_dimension
  • ineligible_media_square_aspect_ratio
  • ineligible_media_square_dimension
  • ineligible_post_type
  • ineligible_unknown_error
  • ineligible_video_length
is_eligible_for_promotionboolean

Indica si la publicación puede usarse en una promoción.

is_expiredboolean

Indica si la publicación tiene una fecha de caducidad que ya caducó.

is_hiddenboolean

Indica si la publicación se marca como oculta (rige solo para las páginas). Al ocultar una publicación, se oculta en la biografía de la página, pero sigue visible en otros lugares de Facebook, por ejemplo, un enlace.

is_instagram_eligiblestring

Indica si esta publicación puede promocionarse en Instagram.

is_popularboolean

Indica si la publicación es popular. Se determina sobre la base de si las acciones totales como porcentaje del alcance superan un umbral determinado.

is_publishedboolean

Indica si se realizó efectivamente una publicación programada (rige solo para las publicaciones de páginas programadas; para las publicaciones de usuarios y las publicaciones hechas de inmediato, este valor es siempre true). Ten presente que, para las publicaciones de la página creadas como parte del proceso de creación de anuncios, este valor es siempre false.

is_sphericalboolean

Indica si es una publicación con video esférico.

link

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

En su lugar, usa attachments{unshimmed_url}.

string

Enlace adjunto a la publicación.

messagestring

El mensaje de estado de la publicación.

message_tagsarray

Matriz de perfiles etiquetados en el texto del message. Si leíste el campo con un token de acceso de usuario, solo devuelve el usuario actual.

lengthint

Longitud del texto de la etiqueta, en puntos de código unicode.

idstring

Identificador del perfil que se etiquetó.

namestring

Texto usado para etiquetar el perfil.

offsetint

Ubicación en puntos de código unicode del primer carácter del texto de la etiqueta en el message.

typeenum{}

Tipo de perfil etiquetado: user, page o group.

name

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

En su lugar, usa attachments{title}.

string

Nombre del link.

object_id

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

En su lugar, usa attachments{target{id}}.

string

Identificador de la foto o el video subidos que se adjuntaron a la publicación.

parent_idstring

Identificador de una publicación principal para esta publicación, si existe. Por ejemplo, si la historia es "Tu página fue mencionada en la historia de una publicación", el parent_id será la publicación original donde se hizo la mención.

permalink_urlstring

La URL estática permanente de la publicación en www.facebook.com. Ejemplo: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553.

placestring

El identificador del lugar asociado con la publicación.

privacyobject

La configuración de privacidad de la publicación.

allowstring

Si el value es CUSTOM, se trata de una lista de identificadores separados por comas de los usuarios y amigos (si hubiese alguno) que pueden ver la publicación.

denystring

Si el value es CUSTOM, se trata una lista de identificadores separados por comas de los usuarios y amigos (si hubiese alguno) que no pueden ver la publicación.

descriptionstring

Texto que describe la configuración de privacidad, tal como aparecería en Facebook.

friendsenum{}

Si el value es CUSTOM, indica qué grupo de amigos puede ver la publicación. Los valores son:

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

La configuración de privacidad real. Los valores son:

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

Identificador de la publicación que se usa para promocionar las historias que no pueden promocionarse directamente.

promotion_eligibility

Obsoleto. Consulta is_eligible_for_promotion.

booleanIndica si la publicación puede usarse en una promoción.
promotion_status

Obsoleto. Consulta is_eligible_for_promotion.

stringEstado de la promoción. Requiere privilegios de administrador de la página. Valores posibles:
activeLa promoción se encuentra actualmente en ejecución.
draftLa promoción aún está en modo de borrador.
extendableLa campaña de la promoción finalizó, pero puede reiniciarse.
finishedLa promoción finalizó.
inactiveNo hay una promoción activa.
ineligible

La publicación no puede utilizarse para la promoción. Obtén más información sobre los motivos por los que no puede utilizarse la publicación.

pausedLa promoción está pausada.
pendingLa promoción se encuentra aún en revisión.
rejectedSe rechazó la promoción en el proceso de revisión.
propertiesobject

Lista de propiedades de un video adjunto, por ejemplo, la longitud del video.

namestring

El nombre de la propiedad.

textstring

El valor de la propiedad.

hrefstring

Cualquier enlace asociado a la propiedad.

sheduled_publish_timefloat

La marca de tiempo de UNIX del momento de publicación programado para la publicación.

sharesobject

El recuento de veces que se compartió la publicación. Este recuento puede incluir las publicaciones eliminadas y las publicaciones que no puedes ver por motivos de privacidad.

source

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

En su lugar, usa attachments{media{source}}.

string

URL a contenido Flash o un archivo de video que se adjuntó a la publicación.

status_typeenum{}

El tipo de actualización de estado. Los valores son:

  • added_photos
  • added_video
  • app_created_story
  • approved_friend
  • created_event
  • created_group
  • created_note
  • mobile_status_update
  • published_story
  • shared_story
  • tagged_in_photo
  • wall_post
storystring

El texto de las historias no generadas intencionalmente por los usuarios (por ejemplo, aquellas que se generan cuando se agrega una foto). Es preciso activar la migración "Incluir historias de actividad reciente" en la app para recuperar este campo.

story_tagsarray

La lista de etiquetas en la descripción de la publicación.

subscribedboolean

Indica si un usuario se suscribió a la publicación.

targetingobject

El objeto que limita el público del contenido. Solo los públicos que figuran en los datos demográficos especificados pueden ver este contenido. Los datos demográficos son acumulativos. Cada valor adicional agrega su público al público objetivo acumulativo. Estos valores no anulan las restricciones demográficas que quizá estén activas en el nivel de la página.

countriesstring

Valores de los países de segmentación como códigos de formato ISO 3166.

localesint

Configuraciones regionales segmentadas. Es posible que se devuelvan opciones de segmentación del tipo adlocale.

regionslist<int>

Valores de las regiones segmentadas. Es posible que se devuelvan opciones de segmentación del tipo adregion.

citieslist<int>

Valores de las ciudades excluidas. Es posible que se devuelvan opciones de segmentación del tipo adcity.

to

object

Perfiles mencionados o segmentados en esta publicación. Si leíste el campo con un token de acceso de usuario, solo devuelve el usuario actual.

type

Obsoleto para las publicaciones de la página a partir de la versión 3.3.

En su lugar, usa attachments{media_type}. Si no hay attachments ni media_type=link, el valor es el mismo que el de type=status.

enum{}

Una cadena que indica el tipo de objeto de esta publicación. Los valores de enum incluyen:

  • link
  • offer
  • photo
  • status
  • video
updated_timefloat

El momento de la última actualización de la publicación, que corresponde al momento de creación o de edición o en el que un usuario hizo un comentario en una publicación, expresado como marca de tiempo de UNIX.

video_buying_eligibilityarray

Indica si la publicación puede promocionarse con distintas opciones de compra de video. Devuelve una lista vacía si el video cumple los requisitos. De lo contrario, devuelve una lista de los motivos por los que la publicación no puede promocionarse.

with_tags

object

Perfiles etiquetados para indicar que están con la persona que hace esta publicación. Si leíste el campo con un token de acceso de usuario, solo devuelve el usuario actual.


Este punto de conexión quedará obsoleto el 30 de abril de 2019 para la versión 3.3 y versiones posteriores de la API Graph y la API de marketing. Las apps que hayan usado este punto de conexión en los últimos 90 días podrán seguir usándolo con la versión 3.2 y anteriores de la API hasta el 30 de julio de 2019. Las apps que no hayan usado el punto de conexión en los últimos 90 días no podrán usarlo desde el 30 de abril de 2019.

Identificadores promocionables

Al momento de buscar publicaciones que pueden promocionarse, es preciso usar el identificador promotable_id para crear anuncios. En la mayoría de los casos, el identificador será igual al post_id. Sin embargo, no siempre es así. Nota: Una vez que se promociona una publicación, para editarla, debes tener acceso a la cuenta publicitaria conectada.

Ejemplo de solicitud

curl -i -X GET \
 "https://graph.facebook.com/{your-page-id}/feed
    ?fields=is_eligible_for_promotion,promotable_id
        &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{your-page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_eligible_for_promotion,promotable_id");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"fields": @"is_eligible_for_promotion,promotable_id",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'GET',
  {"fields":"is_eligible_for_promotion,promotable_id"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{your-page-id}/feed?fields=is_eligible_for_promotion,promotable_id',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Ejemplo de respuesta

{
  "data": [
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943344825721377",
      "id": "1353269864728879_1943344825721377"
    },
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943313139057879",
      "id": "1353269864728879_1943378089051384"
    },
    {
      "is_eligible_for_promotion": false,
      "promotable_id": "1353269864728879_1942095249179668",
      "id": "1353269864728879_1942095249179668"
    },
...

Visita nuestro servicio de ayuda para obtener más información sobre por qué una publicación no puede promocionarse.

Visita nuestro documento de referencia sobre publicaciones para obtener información sobre todos los campos de publicación disponibles.

Publicación

Puedes publicar en páginas con este perímetro. Debe proporcionarse link o message.

Nueva experiencia de página

Esta API es compatible con la nueva experiencia de páginas.

Requisitos

Si puedes realizar la tarea CREATE_CONTENT, necesitarás:

Las publicaciones aparecerán con la identidad de la página.

Permisos

Nota: Si la persona que está visualizando o la app no pueden ver la URL de link, se producirá un error en la publicación.

POST /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+message
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/feed',
    array (
      'message' => 'This is a test message',
    ),
    '{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(
    "/{page-id}/feed",
    "POST",
    {
        "message": "This is a test message"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test message");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test message",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Respuesta

{"id":"post-id"}

Este punto de conexión admite lectura después de escritura y puede devolver de inmediato los campos devueltos por las operaciones de lectura.

Ejemplo de la herramienta del explorador de Graph

Prueba en la herramienta del explorador de Graph mediante POST {page-id}/feed:

Campos

NombreTipoDescripción
actionsarray

Los enlaces de acción que se adjuntan a la publicación.

linkstring

La URL del proprio enlace de acción.

namestring

El nombre o la etiqueta del enlace de acción.

backdated_timefloat

Especifica una fecha anterior que se asignará a la publicación.

backdated_time_granularityenum{year, month, day, hour, minute}

Controla el modo de visualización de la publicación a la que se asignaron fechas anteriores. Por ejemplo, si eliges month, las publicaciones se mostrarán como 2 months ago en lugar de tener la fecha exacta.

child_attachments

object

Permite especificar varios enlaces en la publicación. Se permite un mínimo de dos objetos y un máximo de cinco. Si configuras

multi_share_optimized

en "true", puedes subir un máximo de diez objetos, pero Facebook solo mostrará los cinco principales.

descriptionstring

Permite mostrar un precio, un descuento o un dominio de sitio web. Si no se especifica, se extrae y usa el contenido de la página a la que dirige el enlace. Por lo general, este campo se trunca después de los 30 caracteres.

image_hashstring

Hash de la imagen de vista previa asociada al enlace desde tu biblioteca de imágenes de anuncios (usa una relación de aspecto de 1:1 y un tamaño mínimo de 458 × 458 píxeles para obtener una mejor visualización). Debe especificarse picture o image_hash.

linkstring

La URL de un enlace para adjuntar a la publicación. Este campo es obligatorio.

namestring

El título de la vista previa del enlace. Si no se especifica, se usará el título de la página a la que dirige el enlace. Por lo general, este campo se trunca después de los 35 caracteres. Se recomienda establecer un único campo name, ya que las interfaces de Facebook muestran acciones que se informan en el campo name.

picturestring

Una URL que determina la imagen de vista previa asociada al enlace (usa una relación de aspecto de 1:1 y un tamaño mínimo de 458 × 458 píxeles para obtener una mejor visualización). Debe especificarse picture o image_hash.

feed_targetingobject

El objeto que controla la segmentación del feed del contenido. Cualquier persona de estos grupos tendrá más probabilidades de ver el contenido; quienes no sean de estos grupos tendrán menos probabilidades, aunque podrían llegar a verlo de todos modos. Puede usarse cualquiera de los campos de segmentación que se muestran aquí; ninguno es obligatorio.

age_maxint

Edad máxima. Debe tener 65 años o menos.

age_minint

Debe tener, como mínimo, 13 años. El valor predeterminado es 0.

college_yearsint[]

Matriz de números enteros del año de graduación de la universidad.

education_statusesint[]

Matriz de números enteros para segmentar según el nivel de formación. Usa 1 para estudios secundarios, 2 para estudios universitarios incompletos, y 3 para estudios universitarios completos (o equivalentes localizados).

genderslist<unsigned int32>

Segmenta por sexo. 1 segmenta a todos los varones y 2, a todas las mujeres. La opción predeterminada es segmentar ambos sexos.

geo_locationsobject

Este objeto permite especificar un número de diferentes ubicaciones geográficas. Consulta la guía de segmentación para obtener información sobre este objeto.

interestsint[]

Uno o más identificadores para segmentar por fans. Usa type=audienceinterest para obtener los identificadores posibles como opciones de segmentación y usa el identificador devuelto para especificar.

localesint

Configuraciones regionales segmentadas. Usa el type de adlocale para buscar las opciones de segmentación y usa la key devuelta para especificar.

relationship_statuseslist<unsigned int32>

Matriz de enteros para segmentar según la situación sentimental. Usa 1 para las personas solteras, 2 para quienes están "en una relación", 3 para las personas casadas y 4 para las personas comprometidas. La opción predeterminada es incluir todos los tipos.

linkstring

La URL de un enlace para adjuntar a la publicación. Debe proporcionarse link o message. A continuación, se muestran campos adicionales asociados con link. Consulta la sección de enlaces personalizados para ver las restricciones.

descriptionstring

Sobrescribe la descripción en la vista previa del enlace.

namestring

Sobrescribe el título de la vista previa del enlace.

picturestring

Determina la imagen de vista previa asociada al enlace.

thumbnailfile

Imagen de vista previa asociada al enlace que subiste.

messagestring

El cuerpo principal de la publicación. El mensaje puede contener menciones de páginas de Facebook, @[page-id].

multi_share_end_cardBoolean

Si se establece en false, no se muestra la tarjeta final de una publicación con enlace por secuencia al usar child_attachments. El valor predeterminado es true.

multi_share_optimizedBoolean

Si se establece en true y solo cuando la publicación se usa en un anuncio, Facebook seleccionará automáticamente el orden de los enlaces en child_attachments. De lo contrario, se mantendrá el orden original de child_attachments. El valor predeterminado es "true".

object_attachmentstring

Identificador de Facebook para una foto actual del álbum de fotos de la persona, que se usará como imagen en miniatura. La persona debe ser la dueña de la foto, y esta no puede formar parte del archivo adjunto de un mensaje.

placestring

El identificador de página de una ubicación asociada a esta publicación.

publishedBoolean

Especifica si se muestra una historia sobre este objeto recién publicado. El valor predeterminado es true, lo que significa que la historia se muestra en el feed. Este campo es compatible (not) cuando se especifica el parámetro de acciones. Las publicaciones ocultas pueden usarse en anuncios.

scheduled_publish_timetimestamp

Una marca de tiempo UNIX que indica el momento en que debe realizarse la publicación. Debe ser un período de entre 10 minutos y 75 días contados a partir de la solicitud de la API.

tagscsv[string]

Lista separada por comas de identificadores de usuario de las personas etiquetadas en esta publicación. No puedes especificar este campo si no especificas también place.

targetingobject

El objeto que limita el público del contenido. Las personas que no forman parte de estos grupos demográficos no pueden ver este contenido. No se anularán las restricciones demográficas que pudieran aplicarse a la página.

age_minint

El valor puede ser 13, 15, 18, 21 o 25.

geo_locationsobject

Este objeto permite especificar un número de diferentes ubicaciones geográficas. Consulta la guía de segmentación para obtener información sobre este objeto.

Agregar una sensación o una actividad a la publicación de la página

Puedes agregar una sensación o una actividad y un icono a la publicación de la página. Se requieren los campos og_action_type_id y og_object_id al publicar una sensación o actividad. El campo og_icon_id es opcional, pero, si no se usa, automáticamente se incluirá un icono según los valores de og_object_id.

Campos

Nombre Descripción

og_action_type_id

Una acción, p. ej., sentir, observar, etc.

og_icon_id

Un icono que quizás representa el tipo de acción, p. ej., una cara sonriente, un icono de película, etc.

og_object_id

El objetivo de la acción, p. ej., feliz, película, etc. Puede ser un objeto predefinido o cualquier page_id.

Ejemplo de publicación

POST /v21.0/page-id/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+activity&og_action_type_id=383634835006146&og_object_id=136050896551329&og_icon_id=609297155780549
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/page-id/feed',
    array (
      'message' => 'This is a test activity',
      'og_action_type_id' => '383634835006146',
      'og_object_id' => '136050896551329',
      'og_icon_id' => '609297155780549',
    ),
    '{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(
    "/page-id/feed",
    "POST",
    {
        "message": "This is a test activity",
        "og_action_type_id": "383634835006146",
        "og_object_id": "136050896551329",
        "og_icon_id": "609297155780549"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test activity");
params.putString("og_action_type_id", "383634835006146");
params.putString("og_object_id", "136050896551329");
params.putString("og_icon_id", "609297155780549");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/page-id/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test activity",
  @"og_action_type_id": @"383634835006146",
  @"og_object_id": @"136050896551329",
  @"og_icon_id": @"609297155780549",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/page-id/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

La respuesta será post_id.

Publicaciones de página ocultas

Admitimos los siguientes tipos de publicaciones de página ocultas:

Tipo de publicaciónDescripción

Enlace

Una publicación de la página con enlace es más efectiva para compartir enlaces a tu sitio web. Permite el reemplazo opcional de imágenes y texto adicional.
Nota: Un enlace a un video de YouTube es una publicación de la página con enlace.

Foto

Una publicación de la página de foto con una descripción de texto y un enlace opcional como parte de esa descripción.

Publicación

Una publicación de la página con una descripción de texto.

Video

Una publicación de la página de video con una descripción de texto opcional.

Las publicaciones de página ocultas se tratan del mismo modo que las publicaciones efectivamente realizadas, con la excepción de que no aparecen en /feed.

Para ver una lista de las publicaciones de página ocultas, consulta el campo is_published.

curl -i -X GET \
 "https://graph.facebook.com/{page-id}/feed
 ?fields=is_published
 &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_published");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{page-id}/feed"
           parameters:@{ @"fields": @"is_published",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{page-id}/feed',
  'GET',
  {"fields":"is_published"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed?fields=is_published',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

A fin de ver una publicación en Facebook.com, puedes visitar https://www.facebook.com/{post-id} para la mayoría de los tipos de publicación, o puedes recuperar el campo actions de la publicación que contiene la URL desde la cual un usuario puede indicar que le gusta la publicación o hacer un comentario.

Llamada a la acción de la publicación de la página

Puedes mejorar las publicaciones de la página con enlace mediante los botones de llamada a la acción. El siguiente campo call_to_action puede agregarse a las nuevas publicaciones de la página con enlace.

NombreTipoDescripción

call_to_action

object

El objeto que especifica un botón de llamada a la acción. Debe ser la acción que quieres que hagan las personas al ver tu publicación. Si hacen clic en este botón, se las redirigirá al enlace que especifiques.

type

string

Determina el texto del botón de llamada a la acción. Uno de los valores permitidos:

BOOK_TRAVEL. La llamada a la acción aparece como ''Reservar''.

BUY_NOW. La llamada a la acción aparece como ''Comprar''. Solo se usa para anuncios sobre artículos virtuales de apps para computadoras.

CALL_NOW. La llamada a la acción aparece como ''Llamar''. Solo se usa para anuncios de difusión local.

DOWNLOAD. La llamada a la acción aparece como ''Descargar''.

GET_DIRECTIONS. La llamada a la acción aparece como "Cómo llegar". Debe especificar coordenadas en el campo link. Solo se usa para anuncios de difusión local.

GET_QUOTE. La llamada a la acción aparece como "Solicitar cotización" para generación de clientes potenciales.

INSTALL_APP. La llamada a la acción aparece como ''Instalar''.

INSTALL_MOBILE_APP. La llamada a la acción aparece como ''Instalar''. Solo se usa para anuncios sobre apps para celulares

LEARN_MORE. La llamada a la acción aparece como ''Más información''.

LIKE_PAGE. La llamada a la acción aparece como ''Indicar que te gusta la página''. Solo se usa para anuncios en el objetivo ''Indicar que te gusta la página'”.

LISTEN_MUSIC. La llamada a la acción aparece como ''Escuchar música''.

MESSAGE_PAGE. La llamada a la acción aparece como ''Enviar mensaje''. Solo se usa para anuncios de difusión local.

NO_BUTTON. No aparece ninguna llamada a la acción.

OPEN_LINK. La llamada a la acción aparece como ''Abrir enlace''. Solo se usa para anuncios en el objetivo ''Clics en el sitio web''.

PLAY_GAME. La llamada a la acción aparece como ''Jugar''. Solo se usa para anuncios sobre apps para computadoras.

SHOP_NOW. La llamada a la acción aparece como ''Comprar''. Solo se usa para anuncios en el objetivo ''Conversiones en el sitio web''.

SIGN_UP. La llamada a la acción aparece como ''Registrarse''.

SUBSCRIBE. La llamada a la acción aparece como "Suscribirte" para generación de clientes potenciales.

USE_APP. La llamada a la acción aparece como ''Usar la app''.

USE_MOBILE_APP. Solo se usa para anuncios sobre apps para celulares.

WATCH_MORE. La llamada a la acción aparece como ''Ver más''.

WATCH_VIDEO. La llamada a la acción aparece como ''Ver video''.

Imagen de la publicación de la página con enlace personalizado

Puedes publicar un enlace a una página con una imagen de enlace personalizado. El archivo adjunto de la historia genera una imagen recuperada desde ese enlace. Actualmente, es posible anular esa imagen si proporcionas un parámetro picture opcional con una URL a una imagen nueva. El parámetro thumbnail ofrece una funcionalidad similar. La principal diferencia es que el parámetro acepta un archivo de imagen local que se sube a Facebook en la llamada a la API.

Permisos

  • Se exige un token de acceso a la página.
  • El enlace debe ser propiedad de la página que publica.

Para verificar la propiedad del enlace, usa el campo ownership_permissions{can_customize_link_posts} en el nodo URL. Debes llamar a este punto de conexión antes de publicar los nuevos enlaces. Sin este paso, las publicaciones de páginas con enlaces personalizados no funcionarán en el caso de enlaces sin extraer. Consulta nuestra guía de propiedad del enlace para obtener más información. En las versiones 2.10 y anteriores, picture, name, thumbnail y description quedaron obsoletos. caption quedó obsoleto para todas las versiones.

ParámetrosTipoDescripción

description

cadena

Descripción del enlace (aparece debajo de la leyenda). Si no se especifica, este campo se completa automáticamente con información extraída del enlace, por lo general, el título de la página.

name

cadena

Nombre del adjunto del enlace. Este campo se completa automáticamente con información extraída del enlace.

picture

cadena

URL de la imagen. La imagen se obtiene de la URL proporcionada en picture.

thumbnail

archivo

El archivo de imagen que se subirá. Acepta .jpg.jpeg.gif o .png. La imagen se obtiene del archivo subido en thumbnail.

Limitaciones

  • El parámetro thumbnail solo está disponible para las publicaciones con enlace en las páginas de Facebook.
  • El parámetro thumbnail tiene mayor prioridad que el parámetro picture. Si se proporcionan ambos, el parámetro picture no se usa.
  • El parámetro thumbnail acepta imágenes con la extensión .jpg.jpeg.gif o .png.
  • El parámetro thumbnail no se admite en solicitudes por lotes.

Publicar un enlace a una página

Publica un enlace a una página enviando una solicitud "POST" al perímetro /page/feed. Establece el parámetro publish en 1 para hacer la publicación inmediatamente o en 0 para crear una publicación oculta para publicar más tarde.

Ejemplo de solicitud

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become%20a%20Facebook%20developer!
  &link=https%3A%2F%2Fdevelopers.facebook.com
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Ejemplo de respuesta

{"id":"{post-id}"}

Publicación de la página con enlace con llamada a la acción

El campo call_to_action especifica la acción correspondiente y el enlace pertinente. Este enlace debe ser el mismo que el parámetro link de la publicación de la página. En esta llamada, title, description, caption y picture son opcionales; cuando no se proporcionan, Facebook lee las propiedades equivalentes desde los metadatos de Open Graph del enlace. Si la página web vinculada no tiene metadatos de Open Graph, Facebook intentará adivinar estas propiedades extrayendo el contenido de la página web.

Ejemplo de solicitud

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become a Facebook developer!
  &link=https://developers.facebook.com
  &call_to_action={"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\",\"call_to_action\":\"{\\\"type\\\":\\\"SIGN_UP\\\",\\\"value\\\":{\\\"link\\\":\\\"https://developers.facebook.com\\\"}}\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",@"call_to_action": @"{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1","call_to_action":"{\"type\":\"SIGN_UP\",\"value\":{\"link\":\"https://developers.facebook.com\"}}"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1',
      'call_to_action' => '{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Ejemplo de respuesta

{"id":"{post-id}"}

Publicación con enlace con imagen personalizada subida

Usar un archivo local:

curl -F 'link=http://www.example.com' \
     -F 'thumbnail=@/local/path/to/file/on/hard/drive/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

Valor devuelto

{"id":"post-id"}

Usar una imagen mediante URL:

curl -F 'link=http://www.example.com' \
     -F 'picture=https://www.example.com/path/to/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

Valor devuelto

{"id":"post-id>"}

Publicación de la página con foto

Para obtener más información, consulta la referencia sobre el nodo "Photo".

Publicación de la página con video

Para obtener más información, consulta la referencia sobre video de la página.

Estadísticas de la publicación de la página

Para obtener más información, consulta la referencia sobre estadísticas de la publicación de la página.

Actualización

No puedes actualizar usando este perímetro, pero puedes actualizar publicaciones con el nodo /{post-id}.

Eliminación

No puedes eliminar usando este perímetro, pero puedes eliminar publicaciones con el nodo /{post-id}.