L’API Upload avec reprise vous permet d’importer des fichiers volumineux dans l’API Graph de Meta et de reprendre les sessions d’importation interrompues sans avoir à tout recommencer. Une fois votre fichier importé, vous pouvez le publier.
Les références des points de terminaison qui autorisent les alias de fichiers importés indiquent si ces points de terminaison acceptent les alias renvoyés par l’API Upload avec reprise.
Ce guide suppose que vous avez lu la présentation de l’API Graph et les guides de développement Meta, et que vous avez effectué toutes les démarches nécessaires pour développer avec Meta.
Vous aurez besoin des éléments suivants :
pdf
jpeg
jpg
png
Pour démarrer une session d’importation, envoyez une requête POST
au point de terminaison /<APP_ID>/uploads
, où <APP_ID>
représente l’ID Meta de votre application, avec les paramètres requis suivants :
file_name
: nom de votre fichierfile_length
: taille du fichier en octetsfile_type
: type MIME du fichier Les valeurs valides sont les suivantes : application/pdf
, image/jpeg
, image/jpg
, image/png
et video/mp4
Le code a été mis en forme pour plus de lisibilité.
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 requête aboutit, votre application reçoit une réponse JSON contenant l’ID de la session d’importation.
{ "id": "upload:<UPLOAD_SESSION_ID>" }
Pour démarrer l’importation du fichier, envoyez une requête POST
au point de terminaison /upload:<UPLOAD_SESSION_ID>
avec file_offset
défini sur 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>
Vous devez inclure le token d’accès dans l’en-tête, sinon l’appel échouera.
Si la requête aboutit, votre application reçoit l’alias du fichier, que vous utiliserez dans vos appels d’API pour publier le fichier sur votre point de terminaison.
{ "h": "<UPLOADED_FILE_HANDLE>" }
{ "h": "2:c2FtcGxl..." }
Si vous avez lancé une session d’importation mais qu’elle prend plus de temps que prévu ou a été interrompue, envoyez une requête GET
au point de terminaison /upload:<UPLOAD_SESSION_ID>
à partir de l’Étape 1.
Le code a été mis en forme pour plus de lisibilité.
curl -i -X GET "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>""
En cas de succès, votre application renvoie une réponse JSON avec la valeur file_offset
que vous pouvez utiliser pour reprendre le processus d’importation à partir du point d’interruption.
{ "id": "upload:<UPLOAD_SESSION_ID>" "file_offset": <FILE_OFFSET>" }
Utilisez cette valeur file_offset
pour envoyer une autre requête POST
comme vous l’avez fait à l’Étape 2. Cela permettra de reprendre le processus d’importation à partir du point d’interruption.