•  


스토리 - 動映像 API - 文書 - Meta for Developers

Meta의 Facebook 스토리 API

이 文書에서는 Facebook 스토리 API를 使用하여 Facebook 페이지에 스토리를 揭示하는 方法을 보여줍니다.

스토리를 揭示하려면 다음 段階를 遂行하세요.

  1. Meta 서버에 미디어 업로드
  2. 페이지에 미디어를 스토리로 揭示

始作하기 前에

이 가이드에서는 페이지 API 槪要 를 읽었고 必要한 構成 要素를 具現했으며 始作하기 가이드 를 成功的으로 完了한 것으로 假定합니다.

  • Facebook 로그인이나 비즈니스用 Facebook 로그인을 具現하여 Facebook 페이지에 액세스하고 페이지 액세스 토큰을 受信하는 데 必要한 權限을 앱 使用者에게 要請해야 합니다.

  • 앱 使用者는 페이지 액세스 토큰에 나와 있는 페이지에서 CREATE_CONTENT 作業을 遂行하고 앱에 다음 權限을 附與해야 합니다.

    • pages_manage_posts
    • pages_read_engagement
    • pages_show_list

API 要請에서 비즈니스 시스템 使用者를 使用하는 境遇 business_management 權限도 必要합니다.

미디어 要求 事項

다음 仕樣에 맞는 寫眞이나 動映像을 提供해야 합니다.

寫眞 仕樣

屬性 仕樣

파일 類型

.jpeg, .bmp, .png, .gif, .tiff

파일 크기

파일은 4MB를 超過할 수 없습니다. .png 파일은 1MB를 超過하지 않는 것이 좋습니다. 超過할 境遇 이미지가 픽셀火 狀態로 標示될 수 있습니다.

動映像 仕樣

屬性 仕樣

파일 類型

.mp4(勸奬)

가로세로比

9 x 16

海上도

1080 x 1920픽셀(勸奬). 540 x 960픽셀 以上

프레임 速度

秒當 24~60프레임

길이

3~90秒

Facebook 페이지에 스토리로 揭示된 릴스는 60秒를 넘을 수 없습니다.

動映像 설정

  • 크로마 서브 샘플링 4:2:0
  • 클로즈드 GOP(2~5秒)
  • 壓縮 ? H.264, H.265(VP9, AV1度 支援됨)
  • 固定 프레임 速度
  • 循次注射 方式

오디오 設定

  • 오디오 비트레이트 ? 128kbs 以上
  • 채널 ? 스테레오
  • 코덱 ? AAC LC
  • 샘플 速度 ? 48kHz

制限 事項

  • 스토리用으로 업로드한 寫眞이나 動映像은 以前에 揭示된 揭示物에 使用하지 않은 것이어야 합니다.
  • 動映像 스토리는 60秒를 超過할 수 없습니다.
  • 스토리 리스트를 보기 爲해 GET 要請에 保管된 스토리를 包含하려면 Facebook 스토리 保管을 活性化해야 합니다.

模範 事例

API 呼出을 테스트할 때 액세스 토큰으로 設定된 access_token 媒介變數를 包含할 수 있습니다. 그러나 앱에서 保安 呼出을 遂行할 때는 액세스 토큰 클래스 를 使用합니다.

이 文書 內의 코드 例示는 可讀性을 높이기 위해 形式을 指定했습니다. 굵은꼴, 기울임꼴 값 (예: page_id )을 自身의 값으로 바꾸세요.

動映像 스토리

Facebook 페이지에 動映像 스토리를 揭示하려면, Meta 서버로 動映像 업로드 세션을 初期化하고 Meta 서버에 動映像을 업로드한 다음 動映像 스토리를 揭示합니다.

1段階: 세션 初期化

업로드 세션을 初期化하려면 /page_id/video_stories 엔드포인트로 POST 要請을 보냅니다. 이때 page_id 는 Facebook 페이지의 ID이며 upload_phase 媒介變數는 start 로 設定합니다.

要請 例示

curl -X POST "https://graph.facebook.com/
v20.0
/page_id
/video_stories" \
      -d '{
           "upload_phase":"start",
         }'

要請에 成功하면 앱이 動映像 ID와 動映像을 업로드할 Facebook URL을 包含한 JSON 應答을 받게 됩니다.

應答 例示

{
  "video_id": "
video_id
",
  "upload_url": "https://rupload.facebook.com/video-upload/
v20.0
/video_id
",
}  

2段階: 動映像 업로드

업로드 세션을 初期化하고 업로드 URL을 받았으므로 이제 動映像을 업로드할 수 있습니다. 다음 中 한 가지를 업로드할 수 있습니다.

호스팅된 파일 업로드

호스팅된 파일을 업로드하려면 다음 媒介變數를 包含하여 初期化 段階 에서 받은 upload_url 엔드포인트로 POST 要請을 보냅니다.

  • 動映像 파일의 URL로 設定된 file_url
要請 例示
curl -X POST "https://rupload.facebook.com/video-upload/
v20.0
/video_id
" \
	-H "file_url: 
https://some.cdn.url/video.mp4
"

로컬 파일 업로드

로컬 파일을 업로드하려면 다음 媒介變數를 包含하여 初期化 段階 에서 받은 upload_url 엔드포인트로 POST 要請을 보냅니다.

  • 0 으로 設定된 offset
  • 업로드되는 動映像의 總 容量(바이트)으로 設定된 file_size
要請 例示
curl -X POST "https://rupload.facebook.com/video-upload/
v20.0
/video_id
" \
	-H "offset: 0" \
        -H "file_size: 
file_size_in_bytes
" \
	--data-binary "@
/path/to/file/my_video_file.mp4
"

업로드에 成功하면 앱은 success true 로 設定된 JSON 應答을 받게 됩니다.

업로드 應答 例示
{
    "success": true
}  

中斷된 업로드

動映像 업로드가 中斷된 境遇 업로드를 다시 始作하거나 끊어진 部分부터 再開할 수 있습니다.

  • 업로드를 다시 始作하려면 POST 要請을 다시 보내고 offset 0 으로 設定하세요.
  • 업로드를 끊어진 部分부터 再開하려면 POST 要請을 다시 보내고 offset 을 狀態 確認을 통해 얻은 bytes_transfered 값으로 設定하세요.

업로드 狀態 가져오기

업로드나 揭示 中에 動映像 狀態를 確認하려면 다음 媒介變數를 包含하여 /video_id 엔드포인트로 GET 要請을 보내세요.

  • status 로 設定된 fields
要請 例示
curl -X GET "https://graph.facebook.com/
v20.0
/video_id
" \
	-d "fields=status"

要請에 成功하면 앱은 다음을 包含한 JSON 應答을 받게 됩니다.

  • 다음을 包含한 status 個體:
    • ready , processing , expired 또는 error 값으로 設定된 video_status
    • 다음 키-값 雙을 包含한 uploading_phase 個體:
      • in_progress , not_started , complete 또는 error 로 設定된 status
      • 업로드된 容量(바이트)으로 設定된 bytes_transfered . 업로드가 中斷된 境遇 offset 의 값으로 使用할 수 있습니다.
    • 다음 키-값 雙을 包含한 processing_phase 個體:
      • in_progress , not_started , complete 또는 error 로 設定된 status
    • 다음 키-값 雙을 包含한 processing_phase 個體:
      • in_progress , not_started , complete 또는 error 로 設定된 status
      • published 또는 not_published 로 設定된 publish_status
      • 實際 또는 揭示된 時間의 UNIX 타임스탬프로 設定된 publish_time
應答 例示
다음 應答은 成功的으로 업로드된 파일을 보여줍니다.
{
  "status": {
    "video_status": "processing", 
    "uploading_phase": {
      "status": "in_progress", 
      "bytes_transfered": 50002 
    },
    "processing_phase": {
      "status": "not_started"
    }
    "publishing_phase": {
      "status": "not_started",
      "publish_status": "published",
      "publish_time": 234523452 
    }
  }
}
다음 應答은 處理 段階에서 發生한 誤謬를 보여줍니다.
{
  "status": {
    "video_status": "processing", 
    "uploading_phase": {
      "status": "complete"
    },
    "processing_phase": {
      "status": "not_started",
      "error": {
        "message": "Resolution too low. Video must have a minimum resolution of 540p."
      }
    }
    "publishing_phase": {
      "status": "not_started"
    }
  }
}

3段階. 動映像 스토리 揭示

動映像 스토리를 페이지에 揭示하려면 다음 媒介變數를 包含하여 /page_id /video_stories 엔드포인트로 POST 要請을 보냅니다.

  • 업로드한 動映像의 ID로 設定된 video_id
  • finish 로 設定된 upload_phase

要請 例示

curl -X POST "https://graph.facebook.com/
v20.0
/page_id
/video_stories" \
      -d '{
           "video_id": "
video_id
",
           "upload_phase": "finish"
         }'

要請에 成功하면 앱이 다음 키-값 雙을 包含하는 JSON 應答을 받게 됩니다.

  • true 로 設定된 success
  • 스토리 揭示物의 ID로 設定된 post_id

應答 例示

{
  "success": true,
  "post_id": 1234
}

寫眞 스토리

1段階. 寫眞 업로드

/page_id/photos 엔드포인트를 使用하여 Meta 서버로 寫眞을 업로드하는 方法을 알아보려면 페이지 揭示物 參考 資料 를 參照하세요. published 媒介變數를 包含하고 이를 false 로 設定합니다.

2段階. 寫眞 스토리 揭示

寫眞 스토리를 페이지로 揭示하려면 다음 媒介變數를 包含하여 /page_id /photo_stories 엔드포인트로 POST 를 보냅니다.

  • 업로드한 寫眞의 ID로 設定된 photo_id

要請 例示

curl -X POST "https://graph.facebook.com/
v20.0
/page_id
/photo_stories" \
      -d '{
           "photo_id": "
photo_id
"
         }'

要請에 成功하면 앱이 다음 키-값 雙을 包含하는 JSON 應答을 받게 됩니다.

  • true 로 設定된 success
  • 스토리 揭示物의 ID로 設定된 post_id

應答 例示

{
  "success": true,
  "post_id": 1234
}

스토리 가져오기

페이지에 對한 모든 스토리와 各 스토리에 對한 데이터의 리스트를 가져오려면 / page_id /stories 엔드포인트로 GET 要請을 보내세요. 이때 page_id 는 照會하려는 페이지의 ID입니다.

要請 例示

    
curl -i -X GET "https://graph.facebook.com/
v20.0
/page_id
/stories"

要請에 成功하면 앱이 個體의 配列을 包含하는 JSON 應答을 받게 됩니다. 이때 各 個體에는 페이지에 揭示된 스토리에 對한 情報가 包含됩니다. 各 個體에는 다음 키-값 雙이 包含됩니다.

  • 揭示된 스토리 揭示物의 ID로 設定된 post_id
  • PUBLISHED , ARCHIVED 로 設定된 status
  • 스토리가 揭示된 時點의 UNIX 타임스탬프로 設定된 creation_time
  • video 또는 photo 로 設定된 media_type
  • 스토리 揭示物의 動映像 또는 寫眞의 ID로 設定된 media_id
  • 스토리 揭示物의 Facebook URL로 設定된 url (예: https://facebook.com/stories/8283482737484972 )

應答 例示

{
  "data": [
    {
      "post_id": "
post_id
",
      "status": "PUBLISHED",
      "creation_time": "123456",
      "media_type": "video",
      "media_id": "
video_id
",
      "url": "
https://facebook.com/stories…
"
    },
    {
      "post_id": "
post_id
",
      "status": "PUBLISHED",
      "creation_time": "123456",
      "media_type": "photo",
      "media_id": "
photo_id
",
      "url": "
https://facebook.com/stories…
"
    },
    {
      "post_id": "
post_id
",
      "status": "ARCHIVED",
      "creation_time": "123456",
      "media_type": "photo",
      "media_id": "
photo_id
",
      "url": "
https://facebook.com/stories…
"
    },
    ...
  ],
}

since until 媒介變數를 使用하여 狀態, 揭示/保管, 날짜 基準으로 스토리를 필터링할 수 있습니다.

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본