versión API Graph

Feeds de páginas

Utiliza este extremo para obtener una página y realizar una publicación en ella. Los feeds de páginas abarcan todas las interacciones con una página de Facebook, tales como las publicaciones que realiza y los enlaces que publica la página, los visitantes a la página y las publicaciones públicas en las que se ha etiquetado la página.

Más información

Lectura

Publicaciones de una página de Facebook.

Nueva experiencia para páginas

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

Requisitos

El usuario que solicita el identificador de acceso debe poder realizar una de las siguientes tareas en la página:

  • CREATE_CONTENT: publicar contenido en nombre de la página en la página.
  • MANAGE: asignar y administrar tareas de la página.
  • MODERATE
    • Responder a comentarios en las publicaciones de la página en nombre de esta.
    • Eliminar comentarios en las publicaciones de la página
    • Si se conecta una cuenta de Instagram 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.

Además, es necesario haber concedido a la aplicación los siguientes permisos:

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

Cuando emplees la función Acceso al contenido público de la página, utiliza un identificador 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 una publicación ha caducado, ya no podrás ver el contenido con la API Graph.
  • Publicaciones máximas
    • La API devolverá aproximadamente 600 publicaciones realizadas y clasificadas al año.
    • Solo puedes leer un máximo de 100 publicaciones de feeds con el campo limit. Si intentas leer más, recibirás un mensaje de error en el que se te indicará que no superes las 100.
  • Llamada a la acción de mensajes: no se puede acceder a las publicaciones con llamadas a la acción de mensajes con otro identificador de acceso a la página, dado que las páginas no pueden enviar mensajes a otras páginas.
  • Información de identificación pública: la información del usuario no se incluirá en las respuestas a menos que hagas la solicitud con un identificador de acceso a la página.
  • Publicaciones realizadas: las publicaciones realizadas y sin realizar se devolverán al consultar el extremo “/{page-id}/feed”. Usa el campo “is_published” para que se devuelvan solo las publicaciones realizadas.
  • Publicaciones compartidas: es posible que una publicación de la página que comparte una publicación de otra página o usuario no se pueda ver si la publicación original tampoco se puede ver con el identificador de acceso utilizado.
  • Publicaciones etiquetadas: cuando utilizas /{page-id}/tagged para mostrar las publicaciones que etiquetaron esta página, los resultados solo incluyen publicaciones de otras páginas si estas son auténticas.
  • Agentes de usuario: los agentes de usuario disponibles que se permiten para estas llamadas a la API Graph están sujetos a cambios sin previo aviso. Si tienes problemas, te recomendamos que cambies a una nueva versión de tu agente de usuario concreto.
  • Publicaciones con vídeo: para obtener una lista de publicaciones con vídeo, el usuario que realiza la solicitud debe ser un administrador de la página.
  • Reels: para obtener una lista de los reels publicados en tu página, usa el perímetro de VideoReels de la página.

Limitación: todas las publicaciones (realizadas o no) se extraerán en el extremo de feeds. La única diferencia es que las publicaciones sin realizar no se mostrarán en el feed físico. Sin embargo, hay un campo “is_published” que se puede añadir al extremo “/feed” para que los desarrolladores sepan si la publicación que se indica en el extremo “/feed” se ha realizado o no.

Campos

NombreTipoDescripción
idstring

Identificador de la publicación.

actionsobject

Enlaces de acciones en la publicación, el comentario, el Me gusta y el contenido compartido.

admin_creatorobject

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

idint

Identificador de la persona, la aplicación o el negocio.

namestring

Nombre de la persona, la aplicación o el negocio.

allowed_advertising_objectsstring

Los únicos objetivos según los que se puede anunciar esta publicación.

applicationobject

Información sobre la aplicación que realizó esta publicación.

attachmentsobject

Cualquier archivo adjunto que esté asociado con la historia. Consulta la referencia sobre el nodo de archivos adjuntos de historias para obtener información sobre los campos attachments.

backdated_timefloat

Hora atrasada de la publicación antedatada. Para una publicación normal, este campo se establece en nulo.

call_to_actionobject

Tipo de llamada a la acción usado en las publicaciones de la página para los anuncios de interacción con aplicaciones para móviles.

contextobject

Tipo de llamada a la acción usado en las publicaciones de la página para los anuncios de interacción con aplicaciones para móviles.

can_reply_privatelyboolean

Determina si el usuario que ve la página puede enviar una respuesta privada a esta publicación. Se requiere el permiso read_page_mailboxes.

caption

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

string

Texto del enlace de una publicación que aparece debajo del campo name. El campo caption debe ser una URL real y reflejar de forma precisa la URL y la empresa o anunciante asociado que se visita al hacer clic en ella.

child_attachmentsobject

Comparticiones secundarias de una publicación para compartir varios enlaces.

created_timefloat

Hora en la que se realizó la publicación inicialmente. En el caso de una publicación sobre un acontecimiento importante, es la hora y la fecha.

description

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores. En su lugar, puedes utilizar attachments{description}.

string

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

feed_targetingobject

Objeto que controla la segmentación de la sección de noticias para esta publicación. Las personas que estén en estos grupos tienen más probabilidades de ver esta publicación que aquellas que no lo estén, aunque es posible que también la vean. Se puede usar cualquier campo de segmentación que se muestra aquí, aunque no se requiere ninguno (solo se aplica a las páginas).

age_maxint

Edad máxima

age_minint

Debe especificarse 13 como mínimo. El valor predeterminado es 0.

citiesint

Valores de las ciudades de segmentación. Utiliza el valor adcity de type para buscar opciones de segmentación y usa el valor de key devuelto para especificarlo.

college_yearsint

Matriz de enteros para el año de graduación de la universidad.

countriesstring

Valores de los países de segmentación. Puedes especificar un máximo de 25 países. Utiliza los códigos en formato ISO 3166.

education_statusesint

Matriz de enteros para la segmentación basada en el nivel de formación. Utiliza 1 para instituto, 2 para estudiante universitario y 3 para graduado (o equivalentes localizados).

gendersint

Segmenta sexos específicos. 1 se dirige a toda la audiencia masculina y 2, a la femenina. De manera predeterminada, segmenta ambos sexos.

interested_in

Obsoleto.

intIndica la segmentación según el campo “interesado en” del perfil del usuario. Puedes especificar un entero de 1 para indicar el sexo masculino y 2 para el femenino. El valor predeterminado es todos los tipos. Ten en cuenta que la segmentación “interesado en” no está disponible en la mayoría de los países de Europa ni en Canadá debido a la legislación local.
interestsint

Uno o varios identificadores de páginas para dirigirse a los fans de páginas. Usa el tipo de página para obtener identificadores posibles como opciones de segmentación y usa el identificador devuelto para especificarlas.

localesint

Configuraciones regionales segmentadas. Utiliza el valor adlocale de type para buscar opciones de segmentación y usa el valor de key devuelto para especificarlo.

regionsarray

Valores de las regiones de segmentación. Utiliza el valor adregion de type para buscar opciones de segmentación y usa el valor de key devuelto para especificarlo.

relationship_statusesint

Matriz de enteros para la segmentación basada en la situación sentimental. Utiliza 1 para soltero, 2 para indicar "en una relación", 3 para casado y 4 para comprometido. El valor predeterminado es todos los tipos.

from

object

Valores de name y id de la página, grupo o evento que creó la publicación. Si lees este campo con un identificador de acceso de usuario, solo devuelve el usuario actual.

full_picturestring

URL a la versión de tamaño completo de la foto incluida en la publicación o extraída de un enlace de la publicación. Si la dimensión más grande de la foto supera los 720 píxeles, se cambiará su tamaño por la dimensión mayor establecida en 720.

iconstring

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

instagram_eligibilityenum{}

Determina si la publicación se puede promocionar en Instagram. Devuelve la enumeración eligible si se puede promocionar. De lo contrario, devuelve un elemento enum que indica el motivo por el que no se puede promocionar, como se indica a continuación:

  • 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 es válida para promocionarse.

is_expiredboolean

Determina si el periodo de caducidad de la publicación se ha superado.

is_hiddenboolean

Determina si esta publicación esta marcada como oculta (solo se aplica a las páginas). Si ocultas una publicación, deja de mostrarse en la biografía de la página, pero sigue visible en otros lugares de Facebook, como en los enlaces.

is_instagram_eligiblestring

Determina si esta publicación se puede promocionar en Instagram.

is_popularboolean

Determina si la publicación es popular. Se basa en si las acciones totales como porcentaje de alcance superan un umbral determinado.

is_publishedboolean

Indica si se realizó una publicación programada (se aplica solo a las publicaciones programadas de la página; en el caso de las publicaciones de usuarios y publicaciones instantáneas, este valor siempre es true). Ten en cuenta que este valor siempre es false en el caso de las publicaciones de la página creadas como parte del proceso de creación de anuncios.

is_sphericalboolean

Determina si la publicación es una publicación con vídeo esférico.

link

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

En su lugar, puedes utilizar attachments{unshimmed_url}.

string

Enlace adjunto a la publicación.

messagestring

Mensaje de estado de la publicación.

message_tagsarray

Matriz de perfiles etiquetados en el texto del objeto message. Si lees este campo con un identificador 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 ha etiquetado.

namestring

Texto que se usa para etiquetar el perfil.

offsetint

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

typeenum{}

Tipo de perfil etiquetado: user, page o group.

name

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

En su lugar, puedes utilizar attachments{title}.

string

Nombre del objeto link.

object_id

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

En su lugar, puedes utilizar attachments{target{id}}.

string

Identificador de cualquier foto o vídeo subidos y adjuntados a esta publicación.

parent_idstring

Identificador de una publicación principal de esta publicación, si existe. Por ejemplo, si esta historia es de tipo “Tu página se ha mencionado en una publicación”, el valor de parent_id es la publicación original en la que se produjo la mención.

permalink_urlstring

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

placestring

Identificador del lugar asociado con esta publicación.

privacyobject

Configuración de la privacidad de la publicación.

allowstring

Si el valor de value es CUSTOM, se trata de una lista separada por comas de identificadores de usuario y listas de amigos (si existen) que pueden ver la publicación.

denystring

Si el valor de value es CUSTOM, se trata de una lista separada por comas de identificadores de usuario y listas de amigos (si existen) que no pueden ver la publicación.

descriptionstring

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

friendsenum{}

Si el valor de value es CUSTOM, indica el grupo de amigos que puede ver la publicación. Los valores son los siguientes:

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

Configuración de la privacidad real. Los valores son los siguientes:

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

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

promotion_eligibility

Obsoleto. Consulta el campo is_eligible_for_promotion.

booleanIndica si una publicación es apta para la promoción.
promotion_status

Obsoleto. Consulta el campo is_eligible_for_promotion.

stringEstado de la promoción. Requiere privilegios del administrador de la página. Valores posibles:
activeLa promoción se encuentra en circulación actualmente.
draftLa promoción todavía se encuentra en modo borrador.
extendableLa campaña de la promoción ha terminado, pero se puede reiniciar.
finishedLa promoción ha terminado.
inactiveNo hay ninguna promoción activa.
ineligible

La publicación no es apta para la promoción. Más información sobre los motivos por los que la publicación puede no ser apta.

pausedLa promoción está pausada.
pendingLa promoción todavía se está revisando.
rejectedLa promoción se ha rechazado durante el proceso de revisión.
propertiesobject

Lista de propiedades de cualquier vídeo adjunto; por ejemplo, la longitud del vídeo.

namestring

Nombre de la propiedad.

textstring

Valor de la propiedad.

hrefstring

Cualquier enlace asociado a la propiedad.

sheduled_publish_timefloat

Marca de tiempo UNIX de la hora de publicación programada de la publicación.

sharesobject

Número de veces que se ha compartido esta publicación. El número de veces que se ha compartido una publicación puede incluir publicaciones eliminadas y otras que no puedes ver por motivos de privacidad.

source

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

En su lugar, puedes utilizar attachments{media{source}}.

string

URL a cualquier archivo de película o vídeo Flash adjunto a esta publicación.

status_typeenum{}

Tipo de actualización de estado. Los valores son los siguientes:

  • 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

Texto de las historias que no han generado intencionadamente los usuarios, como las que se generan al añadir una foto. La migración "Incluir las historias de actividad reciente" debe estar activada en la aplicación para recuperar este campo.

story_tagsarray

Lista de etiquetas en la descripción de la publicación.

subscribedboolean

Determina si un usuario está suscrito a la publicación.

targetingobject

Objeto que limita la audiencia de este contenido. Solo pueden ver este contenido las audiencias con los datos demográficos indicados. Los datos demográficos son aditivos. Cada valor adicional añade su público al público segmentado acumulativo. Estos valores no sobrescriben ninguna restricción demográfica a nivel de página que pueda haber implementada.

countriesstring

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

localesint

Configuraciones regionales segmentadas. Se pueden devolver las opciones de segmentación del tipo adlocale.

regionslist<int>

Valores de las regiones segmentadas. Se pueden devolver las opciones de segmentación del tipo adregion.

citieslist<int>

Valores de las ciudades excluidas. Se pueden devolver las opciones de segmentación del tipo adcity.

to

object

Perfiles mencionados o segmentados en esta publicación. Si lees este campo con un identificador de acceso de usuario, solo devuelve el usuario actual.

type

Se ha retirado de las publicaciones de la página de la versión 3.3 y posteriores.

En su lugar, puedes utilizar attachments{media_type}. Si no hay ningún objeto attachments ni media_type=link, el valor es el mismo que type=status.

enum{}

Cadena que indica el tipo de objeto de esta publicación. Los valores de enum son los siguientes:

  • link
  • offer
  • photo
  • status
  • video
updated_timefloat

Hora de la última actualización de la publicación, expresada como marca de tiempo de UNIX. Refleja cuándo se creo o editó la publicación o un usuario la comentó.

video_buying_eligibilityarray

Determina si la publicación se puede promocionar con distintas opciones de compra de vídeo. Devuelve una lista vacía cuando el vídeo es válido. En caso contrario, devuelve una lista de motivos por los que no se puede proporcionar la publicación.

with_tags

object

Perfiles cuya etiqueta indica que se encuentran con el editor de la publicación. Si lees este campo con un identificador de acceso de usuario, solo devuelve el usuario actual.


A partir del 30 de abril de 2019, este extremo se retirará de la versión 3.3 y posteriores de la API Graph y la API de marketing. Las aplicaciones que hayan usado este extremo en los últimos 90 días podrán seguir usándolo con las versiones 3.2 y anteriores de la API hasta el 30 de julio de 2019. Las aplicaciones que no hayan usado este extremo en los últimos 90 días no podrán usarlo a partir del 30 de abril de 2019.

Identificadores promocionables

Al buscar publicaciones que se pueden promocionar, se debe utilizar el valor de promotable_id para crear anuncios. En la mayoría de los casos, este identificador será idéntico al valor de post_id. Sin embargo, no es siempre así. Nota: Cuando se promociona una publicación, debes tener acceso a la cuenta publicitaria conectada para editar la publicación.

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 información sobre por qué no se puede promocionar una publicación.

Visita nuestra documentación de referencia de la publicación para obtener todos los campos disponibles de la publicación.

Publicación

Puedes publicar contenido en páginas mediante este perímetro. Se debe proporcionar link o message.

Nueva experiencia para páginas

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

Requisitos

Si puedes realizar la tarea CREATE_CONTENT, necesitarás lo siguiente:

Las publicaciones se mostrarán en nombre de la página.

Permisos

Nota: Si el espectador o la aplicación 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"}

El extremo admite la operación de lectura después de la escritura y puede devolver inmediatamente cualquier campo que devuelvan las operaciones de lectura.

Ejemplo de la herramienta del explorador de la API Graph

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

Campos

NombreTipoDescripción
actionsarray

Enlaces de acción adjuntos a la publicación.

linkstring

URL del enlace de acción.

namestring

Nombre o etiqueta del enlace de acción.

backdated_timefloat

Especifica un momento del pasado al que antedatar esta publicación.

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

Controla cómo se muestra una publicación antedatada. Por ejemplo, si eliges month, las publicaciones se mostrarán como 2 months ago en lugar de una fecha exacta.

child_attachments

Objeto

Se usa para especificar varios enlaces de la publicación. Mínimo de 2 objetos y máximo de 5. Si estableces

multi_share_optimized

en “true”, puedes cargar un máximo de diez objetos, pero Facebook mostrará los cinco principales.

descriptionstring

Se usa para mostrar un precio, un descuento o un dominio del sitio web. Si no se especifica, se extrae y se usa el contenido de la página vinculada. Normalmente, este campo se trunca tras los 30 caracteres.

image_hashstring

Hash de la imagen de vista previa asociada con el enlace de tu biblioteca de imágenes de anuncios. Usa una relación de aspecto de 1:1 y un tamaño mínimo de 458 x 458 píxeles para obtener una visualización óptima. Se debe especificar picture o image_hash.

linkstring

URL de un enlace que se debe adjuntar a la publicación. Este campo es obligatorio.

namestring

Título de la vista previa del enlace. Si no se especifica, se usa el título de la página vinculada. Normalmente, este campo se trunca tras los 35 caracteres. Se recomienda establecer un valor de name único, ya que las interfaces de Facebook muestran acciones notificadas en el campo name.

picturestring

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 x 458 píxeles para obtener una mejor visualización). Se debe especificar picture o image_hash.

feed_targetingobject

Objeto que controla la segmentación del feed para este contenido. Los usuarios que estén en estos grupos tendrán más probabilidades de ver este contenido que aquellos que no lo estén, aunque es posible que también lo vean. Se puede usar cualquier campo de segmentación que se muestra aquí, aunque no se requiere ninguno.

age_maxint

Edad máxima. Debe especificarse 65 como máximo.

age_minint

Debe especificarse 13 como mínimo. El valor predeterminado es 0.

college_yearsint[]

Matriz de enteros para el año de graduación de la universidad.

education_statusesint[]

Matriz de enteros para la segmentación basada en el nivel de formación. Utiliza 1 para instituto, 2 para estudiante universitario y 3 para graduado (o equivalentes localizados).

genderslist<unsigned int32>

Segmenta géneros específicos. 1 se dirige a toda la audiencia masculina y 2, a la femenina. De manera predeterminada, segmenta ambas.

geo_locationsobject

Este objeto te permite especificar varias ubicaciones geográficas diferentes. Consulta nuestra guía de segmentación para obtener información sobre este objeto.

interestsint[]

Uno o varios identificadores para dirigirse a los fans. Utiliza type=audienceinterest para obtener los identificadores posibles como opciones de segmentación y usa el identificador devuelto para especificarlo.

localesint

Configuraciones regionales segmentadas. Utiliza el valor type de adlocale para buscar opciones de segmentación y usa el valor de key devuelto para especificarlo.

relationship_statuseslist<unsigned int32>

Matriz de enteros para la segmentación basada en la situación sentimental. Utiliza 1 para soltero, 2 para indicar "en una relación", 3 para casado y 4 para comprometido. El valor predeterminado es todos los tipos.

linkstring

URL de un enlace que se debe adjuntar a la publicación. Se debe proporcionar link o message. Los campos adicionales asociados con link se muestran a continuación. Consulta la sección Enlaces personalizados para ver las restricciones.

descriptionstring

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

namestring

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

picturestring

Determina la imagen de vista previa asociada con el enlace.

thumbnailfile

Imagen de vista previa asociada con el enlace que has subido.

messagestring

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

multi_share_end_cardBoolean

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

multi_share_optimizedBoolean

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

object_attachmentstring

Identificador de Facebook para una foto existente en los álbumes de fotos del usuario que se usará como imagen en miniatura. Debe ser el propietario de la foto y la foto no puede formar parte de un archivo adjunto de un mensaje.

placestring

Identificador de la página de una ubicación asociada a esta publicación.

publishedBoolean

Determina si se muestra una historia sobre este objeto publicado recientemente. El valor predeterminado es true, lo que significa que la historia se muestra en el feed. Este campo no (not) se admite cuando se especifica el parámetro de acciones. Las publicaciones ocultas se pueden usar en los anuncios.

scheduled_publish_timetimestamp

Marca de tiempo UNIX que indica cuándo debe realizarse la publicación. Debe ser una fecha que tenga lugar entre 10 minutos y 75 días después de la hora de la solicitud de la API.

tagscsv[string]

Lista separada por comas de los identificadores de los usuarios etiquetados en esta publicación. No puedes especificar este campo sin especificar también un valor de place.

targetingobject

Objeto que limita la audiencia para este contenido. Los usuarios que no tengan estos datos demográficos no podrán ver este contenido. Esto no sobrescribirá las restricciones demográficas de nivel de página que puedan estar implementadas.

age_minint

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

geo_locationsobject

Este objeto te permite especificar varias ubicaciones geográficas diferentes. Consulta nuestra guía de segmentación para obtener información sobre este objeto.

Adición de un sentimiento o una actividad a una publicación de la página

Añade un sentimiento o una actividad y un icono a una publicación de la página. og_action_type_id y og_object_id son obligatorios cuando publicas un sentimiento o una actividad. og_icon_id es opcional, aunque, si no se utiliza, se proporcionará automáticamente un icono según el valor de og_object_id.

Campos

Nombre Descripción

og_action_type_id

Una acción, p. ej., me siento, mirando, etc.

og_icon_id

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

og_object_id

El destino de la acción, p. ej., contento, película, etc. Puede ser un objeto predefinido o cualquier valor de 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á el valor de 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 la opción más eficaz para compartir enlaces a tu sitio web. Permite reemplazar de manera opcional la imagen y el texto adicional.
Nota: Un enlace de vídeo de YouTube será una publicación de la página con enlace.

Foto

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

Publicación

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

Vídeo

Publicación de la página con vídeo con una descripción de texto opcional.

Las publicaciones de página ocultas se tratan igual que las que se muestran, excepto en que estas 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();

Para ver una publicación en Facebook.com, puedes navegar a https://www.facebook.com/{post-id} a fin de ver la mayoría de tipos de publicaciones. También puedes recuperar el campo actions de la publicación, que contiene la URL en la que el usuario puede indicar que le gusta la publicación o añadirle un comentario.

Publicación de la página call_to_action

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

NombreTipoDescripción

call_to_action

object

Objeto que especifica un botón de llamada a la acción. Debería ser la acción que quieres que los usuarios realicen cuando ven tu publicación. Al hacer clic en este botón, se redirigirá a los usuarios al enlace que especificas.

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 se muestra con la opción "Reservar".

BUY_NOW. La llamada a la acción se muestra con la opción "Comprar". Solo se utiliza para los anuncios sobre aplicaciones para ordenadores de productos virtuales.

CALL_NOW. La llamada a la acción se muestra con la opción "Llamar". Solo se utiliza para los anuncios de difusión local.

DOWNLOAD. La llamada a la acción se muestra con la opción "Descargar".

GET_DIRECTIONS. La llamada a la acción se muestra con la opción "Cómo llegar". Debe especificar las coordenadas en el campo link. Solo se utiliza para los anuncios de difusión local.

GET_QUOTE. La llamada a la acción se muestra con la opción "Recibir presupuesto" de la generación de clientes potenciales.

INSTALL_APP. La llamada a la acción se muestra con la opción “Instalar”.

INSTALL_MOBILE_APP. La llamada a la acción se muestra con la opción "Instalar". Solo se utiliza para los anuncios sobre aplicaciones para móviles.

LEARN_MORE. La llamada a la acción se muestra con la opción "Más información".

LIKE_PAGE. La llamada a la acción se muestra con la opción "Me gusta la página". Solo se utiliza para los anuncios en el objetivo de Me gusta de la página.

LISTEN_MUSIC. La llamada a la acción se muestra con la opción "Escuchar música".

MESSAGE_PAGE. La llamada a la acción se muestra con la opción "Enviar mensaje". Solo se utiliza para los anuncios de difusión local.

NO_BUTTON. No se muestra ninguna llamada a la acción.

OPEN_LINK. La llamada a la acción se muestra con la opción "Abrir enlace". Solo se utiliza para los anuncios en el objetivo de clics hacia el sitio web.

PLAY_GAME. La llamada a la acción se muestra con la opción "Jugar". Solo se utiliza para los anuncios sobre aplicaciones para ordenadores.

SHOP_NOW. La llamada a la acción se muestra con la opción "Comprar". Solo se utiliza para los anuncios en el objetivo de conversiones en el sitio web.

SIGN_UP. La llamada a la acción se muestra con la opción "Registrarse".

SUBSCRIBE. La llamada a la acción se muestra con la opción "Suscribirse" de la generación de clientes potenciales.

USE_APP. La llamada a la acción se muestra con la opción "Usar aplicación".

USE_MOBILE_APP. Solo se utiliza para los anuncios sobre una aplicación para móviles.

WATCH_MORE. La llamada a la acción se muestra con la opción "Ver más".

WATCH_VIDEO. La llamada a la acción se muestra con la opción "Ver vídeo".

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

Publica un enlace en una página e incluye una imagen de enlace personalizada. El archivo adjunto de la historia representa una imagen recuperada del enlace. Actualmente, se puede proporcionar un parámetro picture opcional con una URL a una nueva imagen para reemplazar esa imagen. El parámetro thumbnail ofrece una funcionalidad similar con la diferencia clave de que el parámetro acepta un archivo de imagen local que se sube a Facebook en la llamada a la API.

Permisos

  • Se requiere un identificador de acceso a la página.
  • El enlace debe pertenecer a la página que hace la publicación.

Para verificar la propiedad del enlace, comprueba el campo ownership_permissions{can_customize_link_posts} del nodo URL. Debes llamar a este extremo antes de publicar nuevos enlaces. Sin este paso, las publicaciones de la página con enlace personalizadas no funcionarán para los enlaces no extraídos. Consulta nuestra guía sobre la propiedad del enlace para obtener más información. Para las versiones 2.10 e inferiores, se han retirado picture, name,thumbnail y description, mientras que caption se ha retirado de todas las versiones.

ParámetrosTipoDescripción

description

Cadena

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

name

Cadena

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

picture

Cadena

URL de la imagen. La imagen proviene de la URL proporcionada en picture.

thumbnail

Archivo

Archivo de imagen que se subirá. Acepta .jpg, .jpeg, .gif o .png. La imagen proviene del archivo subido en thumbnail.

Limitaciones

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

Publicar un enlace en una página

Para publicar un enlace en una página, envía una solicitud POST al perímetro /page/feed. Establece el parámetro publish en 1 para realizar la publicación inmediatamente o en 0 para crear una publicación oculta que se 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}"}

Enlace de una publicación de la página con una llamada a la acción

El campo call_to_action especifica la acción adecuada y el enlace pertinente. Este enlace debe ser el mismo que el del parámetro link de la publicación de la página. En esta llamada, los valores title, description, caption y picture son opcionales y, cuando no se proporcionen, Facebook leerá las propiedades equivalentes de los metadatos de Open Graph del enlace. Si la página web vinculada no tiene metadatos de Open Graph, Facebook intentará averiguar dichas propiedades mediante la extracción de 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}"}

Enlace de una publicación con una imagen subida personalizada

Mediante 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"}

Mediante una imagen a través de una 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

Visita nuestra referencia del nodo de fotos para obtener más información.

Publicación de la página con vídeo

Visita nuestra referencia de vídeos de la página para obtener más información.

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

Visita nuestra referencia de insights de la publicación de la página para obtener más información.

Actualización

No puedes realizar la actualización con este perímetro, pero puedes actualizar publicaciones con el nodo /{post-id}.

Eliminación

No puedes realizar la eliminación con este perímetro, pero puedes /{post-id}eliminar publicaciones con el nodo .