동영상 API를 사용하면 Facebook 페이지에 동영상 및 릴스를 게시할 수 있습니다.
페이지에 동영상을 게시하려면 다음이 필요합니다.
CREATE_CONTENT
작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰동영상을 게시하려면 /<PAGE_ID>/videos
엔드포인트로 POST
요청을 보내세요.
curl -X POST \
"https://graph-video.facebook.com/v21.0
/<PAGE_ID>/videos" \
-F "access_token=<PAGE_ACCESS_TOKEN>" \
-F "title=<VIDEO_TITLE>" \
-F "description=<VIDEO_DESCRIPTION>" \
-F "fbuploader_video_file_chunk=<UPLOADED_FILE_HANDLE>"
요청에 성공하면 앱이 동영상 ID를 포함한 JSON 응답을 받습니다.
{ "id":"<VIDEO_ID>" }
다음은 재개 가능한 업로드 API 문서에서 발췌한 내용입니다.
재개 가능한 업로드 API를 사용하면 처음부터 다시 시작할 필요 없이 Meta의 소셜 그래프에 대용량 파일을 업로드하고 중단된 업로드 세션을 다시 시작할 수 있습니다. 파일을 업로드한 후에는 공개할 수 있습니다.
업로드된 파일 핸들을 지원하는 엔드포인트에 대한 참고 자료에는 해당 엔드포인트가 재개 가능한 업로드 API에서 반환한 핸들을 지원하는지 여부가 나와 있습니다.
이 가이드에서는 그래프 API 개요 및 Meta 개발 가이드를 읽고 Meta 개발에 필요한 조치를 취한 것으로 가정합니다.
다음과 같은 항목이 필요합니다.
pdf
jpeg
jpg
png
업로드 세션을 시작하려면 /<APP_ID>/uploads
엔드포인트로 POST
요청을 보냅니다. 여기에서 <APP_ID>
는 앱의 Meta ID이며 다음과 같은 필수 매개변수를 포함합니다.
file_name
- 파일 이름file_length
- 파일 크기(단위: 바이트)file_type
- 파일의 MIME 유형. 유효한 값: application/pdf
, image/jpeg
, image/jpg
, image/png
및 video/mp4
가독성을 높이기 위해 형식을 지정했습니다.
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>"
요청에 성공하면 앱이 업로드 세션 ID를 포함하는 JSON 응답을 받게 됩니다.
{ "id": "upload:<UPLOAD_SESSION_ID>" }
다음 file_offset
을 0
으로 설정하고 /upload:<UPLOAD_SESSION_ID>
엔드포인트로 POST
요청을 보내서 파일 업로드를 시작합니다.
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>
헤더에 액세스 토큰을 포함하지 않으면 호출이 실패합니다.
요청에 성공하면 앱이 파일 핸들을 받습니다. 이 핸들은 API 호출에서 엔드포인트로 파일을 공개하는 데 사용됩니다.
{ "h": "<UPLOADED_FILE_HANDLE>" }
{ "h": "2:c2FtcGxl..." }
업로드 세션을 시작했지만 예상보다 오래 걸리거나 중단된 경우 1단계의 /upload:<UPLOAD_SESSION_ID>
엔드포인트로 GET
요청을 보내세요.
가독성을 높이기 위해 형식을 지정했습니다.
curl -i -X GET "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>""
요청에 성공하면 앱이 중단 시점에서 업로드 프로세스를 재개하는 데 사용할 수 있는 file_offset
값이 포함된 JSON 응답을 받습니다.
{ "id": "upload:<UPLOAD_SESSION_ID>" "file_offset": <FILE_OFFSET>" }
2단계에서 했던 것처럼 이 file_offset
값을 사용하여 다른 POST
요청을 보내세요. 그러면 중단 시점부터 업로드 프로세스가 다시 시작됩니다.