versión API Graph
Este documento se ha actualizado.
La traducción en Español (España) no está disponible todavía.
Actualización del documento en inglés: 23 abr.
Actualización del documento en Español (España): 12 abr. 2023

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 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 /v19.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

NameTypeDescription
idstring

The ID of the post.

actionsobject

Action links on the post, Comment, Like, Share.

admin_creatorobject

The admin creator of a Page post. If the Page has only one admin, no data is returned. Requires a Page Access Token and the business_management permission.

idint

ID of the person, app or business.

namestring

Name of the person, app or business.

allowed_advertising_objectsstring

The only objectives under which this post can be advertised.

applicationobject

Information about the app that published this post.

attachmentsobject

Any attachments that are associated with the story. See the story attachment node reference for attachments fields.

backdated_timefloat

The backdated time for backdate post. For a regular post, this field is set to null.

call_to_actionobject

The call to action type used in any Page posts for mobile app engagement ads.

contextobject

The call to action type used in any Page posts for mobile app engagement ads.

can_reply_privatelyboolean

Whether the Page viewer can send a private reply to this Post. Requires the read_page_mailboxes permission.

child_attachmentsobject

Sub-shares of a multi-link share post.

created_timefloat

The time the post was initially published. For a post about a life event, this is the date and time of the life event.

feed_targetingobject

Object that controls Feed Targeting for this post. Anyone in these groups are more likely to see this post, others are less likely, but may still see it anyway. Any of the targeting fields shown here can be used, none are required (applies to Pages only).

age_maxint

Maximum age

age_minint

Must be 13 or higher. Default is 0

citiesint

Values of targeting cities. Use type of adcity to find Targeting Options and use the returned key to specify.

college_yearsint

Array of integers for graduation year from college.

countriesstring

Values of targeting countries. You can specify up to 25 countries. Use ISO 3166 format codes.

education_statusesint

Array of integers for targeting based on education level. Use 1 for high school, 2 for undergraduate, and 3 for alum (or localized equivalents).

gendersint

Target specific genders. 1 targets all male viewers and 2 females. Default is to target both.

interested_in

Deprecated.

intIndicates targeting based on the 'interested in' field of the User profile. You can specify an integer of 1 to indicate male, 2 indicates female. Default is all types. Please note 'interested in' targeting is not available in most European countries and Canada due to local laws.
interestsint

One or more IDs of pages to target fans of pages. Use type of page to get possible IDs as Targeting Options and use the returned id to specify.

localesint

Targeted locales. Use type of adlocale to find Targeting Options and use the returned key to specify.

regionsarray

Values of targeting regions. Use type of adregion to find Targeting Options and use the returned key to specify.

relationship_statusesint

Array of integers for targeting based on relationship status. Use 1 for single, 2 for 'in a relationship', 3 for married, and 4 for engaged. Default is all types.

from

object

The name and id of the Page, group, or event that created the post. If you read this field with a User access token, it returns only the current User.

full_picturestring

URL to a full-sized version of the Photo published in the Post or scraped from a link in the Post. If the photo's largest dimension exceeds 720 pixels, it is resized, with the largest dimension set to 720.

iconstring

A link to an icon representing the type of this post.

instagram_eligibilityenum{}

Whether the post can be promoted on Instagram. It returns the enum eligible if it can be promoted. Otherwise it returns an enum for why it cannot be promoted:

  • 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

Indicates whether a post is eligible for promotion.

is_expiredboolean

Whether the post has an expiration time that has passed.

is_hiddenboolean

If this post is marked as hidden (Applies to Pages only). Hiding a post hides it in a Page's timeline however it is still visible in other places on Facebook, for example, a link.

is_instagram_eligiblestring

Whether this post can be promoted in Instagram.

is_popularboolean

Whether the post is popular. Based on whether the total actions as a percentage of reach exceeds a certain threshold.

is_publishedboolean

Indicates whether a scheduled post was published (applies to scheduled Page Post only, for users post and instantly published posts this value is always true). Note that this value is always false for page posts created as part of the Ad Creation process.

is_sphericalboolean

Whether the post is a spherical video post.

messagestring

The status message in the post.

message_tagsarray

An array of profiles tagged in the message text. If you read this field with a User User access token, it returns only the current User.

lengthint

The length of the tag text, in unicode code points.

idstring

ID of the profile that was tagged.

namestring

The text used to tag the profile.

offsetint

The location in unicode code points of the first character of the tag text in the message.

typeenum{}

The tagged profile's type, user, page, or group.

parent_idstring

The ID of a parent post for this post, if it exists. For example, if this story is a 'Your Page was mentioned in a post' story, the parent_id is the original post where the mention happened.

permalink_urlstring

The permanent static URL to the post on www.facebook.com. Example: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553.

placestring

ID of the place associated with this post.

privacyobject

The privacy settings of the post.

allowstring

If value is CUSTOM, this is a comma-separated ID list of Users and friend lists (if any) that can see the post.

denystring

If value is CUSTOM, this is a comma-separated ID list of Users and friend lists (if any) that cannot see the post.

descriptionstring

Text that describes the privacy settings, as they would appear on Facebook.

friendsenum{}

If value is CUSTOM, this indicates which group of friends can see the post. Values include:

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

The actual privacy setting. Values include:

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

ID of post to use for promotion for stories that cannot be promoted directly.

propertiesobject

A list of properties for any attached video, for example, the length of the video.

namestring

The property name.

textstring

The value of the property.

hrefstring

Any link associated with the property.

sheduled_publish_timefloat

The UNIX timestamp of the scheduled publish time for the post. Date will be between 10 minutes and 75 days from the time of the POST request to publish the post.

sharesobject

The share count of this post. The share count may include deleted posts and posts you cannot see for privacy reasons.

status_typeenum{}

The type of a status update. Values include:

  • 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

Text of stories not intentionally generated by Users, such as those generated when a photo has been added. The "Include recent activity stories" migration must be enabled in your app to retrieve this field.

story_tagsarray

The list of tags in the post description.

subscribedboolean

Whether a User is subscribed to the post.

targetingobject

Object that limits the audience for this content. Only audiences in the specified demographics can view this content. The demographics are additive. Each additional value adds its audience to the cumulative targeted audience. These values do not override any Page-level demographic restrictions that may be in place.

countriesstring

Values of targeting countries as ISO 3166 format codes.

localesint

Targeted locales. Targeting Options of the type adlocale may be returned.

regionslist<int>

Values for targeted regions. Targeting Options of the type adregion may be returned.

citieslist<int>

Values for excluded cities. Targeting Options of the type adcity may be returned.

to

object

Profiles mentioned or targeted in this post. If you read this field with a User access token, it returns only the current User.

updated_timefloat

The time the post was last updated, which occurs when the post was created, edited, or a User comments on a post, expressed as a UNIX timestamp.

video_buying_eligibilityarray

Whether the post can be promoted with different video buying options. It returns an empty list when video is eligible. Otherwise it returns a list of reasons why the post cannot be promoted.

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