En este tutorial, te mostramos cómo usar la API de video para crear un video en una página. Suponemos que sabes cómo realizar solicitudes de cURL básicas con una herramienta de línea de comandos, como Terminal, o con una app, como Postman, y que conoces el uso básico del explorador de la API Graph.
Necesitarás lo siguiente:
CREATE_CONTENT
.Como práctica general, debes implementar el inicio de sesión con Facebook en tu app y usarlo para obtener tokens de acceso de los usuarios de tu app. Sin embargo, para este tutorial, puedes usar el explorador de la API Graph dado que ya implementó el inicio de sesión con Facebook y te permite generar tokens con facilidad para cualquiera de tus apps.
pages_manage_engagement
y pages_read_user_content
.
GET /me/accounts
. Se enviará una consulta a tu usuario y se devolverán las páginas a las que hayas concedido acceso a tu app en el último paso. id
) y token 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 usas Postman, incluye los valores y las claves de consulta en el cuerpo de la solicitud como form-data.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 tu identificador de página, configura access_token
en el token de acceso a la página que acabas de copiar y file_size
en el tamaño total del archivo de video, 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 de tu primer segmento de video.
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 usas cURL, incluye el símbolo @
antes de tu nombre de archivo.
Si usas Postman, omite el símbolo @
, configura video_file_chunk
en Archivo (pasa el mouse por la fila para activar el menú desplegable) y selecciona el primer segmento de archivo manualmente.
La API responderá con un nuevo valor de start_offset
. Captura el nuevo valor.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
en el nuevo valor start_offset
que se devolvió en la respuesta anterior, y video_file_chunk
en el nombre del próximo segmento de video que corresponde en 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 responderá de nuevo con un nuevo valor de
start_offset
, que podrás usar para subir el siguiente segmento de la secuencia.
{ "start_offset":"15728640", "end_offset":"20971520" }
Una vez que hayas subido tu segmento final, finaliza la sesión de subida; para ello, envía una solicitud final al mismo punto de conexión y configura upload_phase
para finalizar.
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 solicitud es correcta, la API finalizará la sesión de subida y responderá con true
.
{ "success": true }
Ensamblaremos tu video y lo codificaremos. El proceso de codificación puede demorar varios minutos en codificarse por completo, según el tamaño total de tu archivo de video.