Facebook 공개 API의 연결 요건·발행 예제·제한.
연결 요건
pages_manage_posts 권한과 페이지의 CREATE_CONTENT 작업이 있고 정상 연결된 Facebook 페이지를 사용하세요. 공개 쓰기 제공 상태도 활성화돼 있어야 합니다. 반환된 capability를 확인하세요. 신규 작업이 503 SERVICE_UNAVAILABLE일 때도 기존 작업의 재조회·상태 조회·취소는 제공됩니다.
지원 형식
요청마다 페이지 하나와 facebook 객체를 사용합니다. FEED는 비어 있지 않은 텍스트·JPEG 최대 10개·영상 하나를 받으며 이미지와 영상을 섞을 수 없습니다. 텍스트 메시지의 URL은 링크 게시물이 될 수 있습니다. REELS는 영상 하나와 선택 message, STORY는 JPEG 또는 영상 하나를 받으며 message를 거부합니다.
미디어가 필요한 형식은 업로드 가이드의 예약 → PUT → confirm을 먼저 마치세요. 완료 확인된 mediaId만 발행할 수 있습니다.
최소 발행 요청
계정·미디어 UUID는 합성 예시이므로 실제 값으로 바꾸세요. API 키는 POSTEADY_API_KEY 환경 변수로 설정합니다.
curl --request POST "https://www.posteady.com/api/v1/posts" \
--header "Authorization: Bearer $POSTEADY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"facebook": {
"requestId": "33333333-3333-4333-8333-333333333333",
"contentType": "FEED",
"message": "Our latest release is live"
}
}'다음 JSON은 각각 독립적인 전체 요청 본문입니다. 형식에 맞는 실제 미디어 ID를 넣고, 서로 다른 작업에는 새 requestId를 생성하세요. 같은 작업을 재시도할 때만 이전 ID를 유지합니다.
사진 피드
{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"facebook": {
"requestId": "33333333-3333-4333-8333-333333333333",
"contentType": "FEED",
"items": [
{
"mediaId": "22222222-2222-4222-8222-222222222222"
}
]
}
}영상 피드
{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"facebook": {
"requestId": "33333333-3333-4333-8333-333333333333",
"contentType": "FEED",
"items": [
{
"mediaId": "22222222-2222-4222-8222-222222222222"
}
]
}
}릴스
{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"facebook": {
"requestId": "33333333-3333-4333-8333-333333333333",
"contentType": "REELS",
"items": [
{
"mediaId": "22222222-2222-4222-8222-222222222222"
}
]
}
}스토리
{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"facebook": {
"requestId": "33333333-3333-4333-8333-333333333333",
"contentType": "STORY",
"items": [
{
"mediaId": "22222222-2222-4222-8222-222222222222"
}
]
}
}성공 확인
HTTP 202는 작업 접수입니다. results[0].jobId를 저장하고 아래 요청으로 조회하여 status: published를 확인하세요. 예시 ID는 실제 반환값으로 바꿔야 합니다.
curl --request GET "https://www.posteady.com/api/v1/publish-jobs/44444444-4444-4444-8444-444444444444" \
--header "Authorization: Bearer $POSTEADY_API_KEY"예약·조회·관련 작업
예약은 같은 플랫폼 입력에 미래 scheduledAt과 선택 timezone을 추가하여 /scheduled-posts로 보내세요. 비동기 플랫폼은 UUID requestId를 새 작업마다 생성하고 재시도 때 유지합니다.
예약과 취소 · 게시물·지표 조회 · 재시도 · MCP 도구
제한과 오류
message는 UTF-16 코드 유닛 최대 63,206개이며 앞뒤 공백을 제거합니다. 이미지는 JPEG 최대 8 MiB, 영상은 MP4·QuickTime 최대 1 GiB·20분입니다. REELS는 3–90초, STORY 영상은 3–60초입니다. 임의 공개 미디어 URL은 받지 않습니다. 모든 terminal 상태의 재조회는 HTTP 200이며 failed·canceled·unknown에서는 success가 false로 유지됩니다. 상태와 성공 여부를 함께 확인하세요. Facebook 리포스트는 지원하지 않습니다.