En este tutorial se describe cómo usar la API de vídeo para crear un vídeo en una página. Se presupone que sabes realizar solicitudes cURL básicas con una herramienta de línea de comandos como Terminal o una aplicación como Postman y que tienes conocimientos básicos del explorador de la API Graph.
Necesitarás lo siguiente:
CREATE_CONTENT
.En general, tienes que implementar el inicio de sesión con Facebook en la aplicación y usarlo para obtener los identificadores de acceso de los usuarios de la aplicación. Sin embargo, para este tutorial, puedes usar el explorador de la API Graph, que ya ha implementado el inicio de sesión con Facebook y te facilita generar identificadores para cualquiera de tus aplicaciones.
pages_manage_engagement
y pages_read_user_content
.
GET /me/accounts
. Esta solicitud consulta tu usuario y devuelve las páginas para las que has concedido acceso a la aplicación en el paso anterior. id
) y el identificador de acceso a la página (access_token
).{ "data": [ { "access_token": "EBACf...", //Copy your Page Access Token "category": "Media", "category_list": [ { "id": "163003840417682", "name": "Media" } ], "name": "Metricsaurus", "id": "1755847768034402", //Copy your Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ], "paging": { "cursors": { "before": "MTc1NTg0Nzc2ODAzNDQwMgZDZD", "after": "MTc1NTg0Nzc2ODAzNDQwMgZDZD" } } }
POST /page-id/videos
en el host graph-video.facebook.com
. Si utilizas Postman, incluye las claves y los valores del parámetro de consulta en el cuerpo de la solicitud como datos del formulario.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
) en la ruta de la solicitud por el identificador de tu página, establece access_token
en el identificador de acceso a la página que acabas de copiar y file_size
en el tamaño total del archivo de vídeo en bytes.{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
.Envía otra solicitud al perímetro POST /{page-id}/videos
e incluye tu upload_session_id
y el nombre del primer fragmento de tu vídeo.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=0" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xaa"
Si utilizas cURL, incluye el símbolo @
antes del nombre del archivo.
Si utilizas Postman, omite el símbolo @
, establece video_file_chunk
en Archivo (pasa el cursor sobre la fila para activar el menú desplegable) y selecciona manualmente el archivo del primer fragmento.
La API responderá con un nuevo valor de start_offset
. Guarda el nuevo valor.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
en el nuevo valor de start_offset
devuelto en la respuesta anterior y video_file_chunk
en el nombre del fragmento de vídeo siguiente de la secuencia.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=10485760" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xab"La API volverá a responder con un nuevo valor de
start_offset
, que puedes usar para subir el fragmento siguiente de la secuencia.
{ "start_offset":"15728640", "end_offset":"20971520" }
Cuando hayas subido el último fragmento, envía una solicitud final al mismo extremo y establece upload_phase
para finalizar la sesión de subida.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
Si la operación se realiza correctamente, la API finalizará la sesión de subida y responderá con true
.
{ "success": true }
Nosotros montaremos el vídeo y lo codificaremos. El proceso de codificación puede tardar varios minutos en completarse, en función del tamaño total del archivo de vídeo.