La API de subida reanudable te permite subir archivos grandes a la gráfica social de Meta y reanudar las sesiones de subida interrumpidas sin tener que empezar de nuevo. Una vez que hayas subido tu archivo, podrás publicarlo.
Las referencias a los puntos de conexión que admiten identificadores de archivos subidos indicarán si los puntos de conexión son compatibles con los identificadores que devuelve la API de subida reanudable.
En esta guía se presupone que has leído las guías Información general sobre la API Graph y Desarrollo en Meta, y que has realizado las acciones necesarias para el desarrollo con Meta.
Necesitarás lo siguiente:
pdf
jpeg
jpg
png
Para comenzar una sesión de subida, envía una solicitud POST
al punto de conexión /<APP_ID>/uploads
, donde <APP_ID>
es el identificador de Meta de tu app, con los siguientes parámetros obligatorios:
file_name
: el nombre de tu archivofile-length
: el tamaño del archivo en bytesfile-type
: el tipo MIME del archivo Los valores válidos son: application/pdf
, image/jpeg
, image/jpg
, image/png
y video/mp4
El formato se modificó para facilitar la lectura.
curl -i -X POST "https://graph.facebook.com/v21.0
/<APP_ID>/uploads
?file_name=<FILE_NAME>
&file_length=<FILE_LENGTH>
&file_type=<FILE_TYPE>
&access_token=<USER_ACCESS_TOKEN>"
Si la operación se realiza con éxito, tu app recibirá una respuesta JSON que contiene el identificador de sesión de subida.
{ "id": "upload:<UPLOAD_SESSION_ID>" }
Empieza a subir el archivo enviando una solicitud POST
al punto de conexión /upload:<UPLOAD_SESSION_ID>
con el siguiente file_offset
fijado en 0
.
curl -i -X POST "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>"
--header "file_offset: 0"
--data-binary @<FILE_NAME>
Debes incluir el token de acceso en el encabezado; en caso contrario, se producirá un error en la llamada.
Si la operación se realiza con éxito, tu app recibirá el identificador de archivos que utilizarás en tus llamadas a la API para publicar el archivo en tu punto de conexión.
{ "h": "<UPLOADED_FILE_HANDLE>" }
{ "h": "2:c2FtcGxl..." }
Si iniciaste una sesión de subida, pero toma más tiempo del que se espera o se interrumpió, envía una solicitud GET
al punto de conexión /upload:<UPLOAD_SESSION_ID>
del Paso 1.
El formato se modificó para facilitar la lectura.
curl -i -X GET "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>""
Si la operación se realiza con éxito, tu app recibirá una respuesta JSON con el valor file_offset
, que puedes usar para reanudar el proceso de subida desde donde se interrumpió.
{ "id": "upload:<UPLOAD_SESSION_ID>" "file_offset": <FILE_OFFSET>" }
Usa este valor file_offset
para enviar otra solicitud POST
como en el Paso 2. Esto reanudará el proceso de subida desde el punto donde se interrumpió.