發佈

影片 API 讓您可以在 Facebook 專頁發佈影片連續短片

必要條件

如要在專頁上發佈影片,您將需要:

發佈影片

如要發佈影片,請向 /<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>"

成功的話,應用程式就會收到包含影片編號的 JSON 回應。

{
  "id":"<VIDEO_ID>"
}

上載影片檔案

以下內容出自可恢復的上載 API 文件

上載檔案

透過可恢復的上載 API,您可以將大型檔案上載至 Meta 社交關係圖,從中斷的上載連線階段繼續上載,而無需重新開始。檔案一經上載便可發佈。

我們有就支援已上載檔案控制代碼的端點提供參考資料,並在當中指出不同的端點是否支援由可恢復的上載 API 所傳回的控制代碼。

準備工作

本指南假設您已閱讀 Graph API 概覽Meta 開發指南,並已執行使用 Meta 開發內容所需的步驟。

您需要準備以下事項:

  • Meta 應用程式編號
  • 下列其中一種格式的檔案:
    • pdf
    • jpeg
    • jpg
    • png
  • 用戶存取憑證

第 1 步:開始上載連線階段

如要開始上載連線階段,請傳送 POST 要求至 /<APP_ID>/uploads 端點,當中 <APP_ID> 為您應用程式的 Meta 編號,連同以下必要參數:

  • file_name:檔案名稱
  • file_length:檔案大小,以位元組為單位
  • file_type:檔案的 MIME 類型。有效的值包括:application/pdfimage/jpegimage/jpgimage/pngvideo/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>"

成功的話,應用程式就會收到以下 JSON 回應,其中包含上載連線階段的編號。

{
  "id": "upload:<UPLOAD_SESSION_ID>"
}

第 2 步:開始上載

傳送 POST 要求至 /upload:<UPLOAD_SESSION_ID> 端點以開始上載檔案,而以下的 file_offset 應設定為 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>

您必須在標題中加入存取憑證,否則呼叫將會失敗。

成功的話,應用程式會收到以下檔案控制代碼,供您在 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>""

成功的話,應用程式就會收到以下 JSON 回應,其中包含 file_offset 值,用來從中斷的位置恢復上載流程。

{
  "id": "upload:<UPLOAD_SESSION_ID>"
  "file_offset": <FILE_OFFSET>"
}

按照第 2 步的做法,使用此 file_offset 值傳送另一個 POST 要求。這樣便可從中斷的位置恢復上載流程。

後續步驟