本教學導覽會講解如何使用影片 API 在專頁上建立影片。我們假設您知道如何使用終端機等指令行工具或 Postman 等應用程式執行基本 cURL 要求,並且對 Graph API 測試工具有基本了解。
您需要準備以下事項:
CREATE_CONTENT
任務的專頁。一般來說,您需要在您的應用程式中加入 Facebook 登入功能,以此從應用程式用戶獲取存取憑證。不過,在本教學導覽中,您可以使用已加入 Facebook 登入功能的 Graph API 測試工具,輕鬆地為您的任何應用程式產生憑證。
pages_manage_engagement
和 pages_read_user_content
。
GET /me/accounts
關係連線傳送要求。此操作將查詢用戶並傳回您在上一步中授權應用程式存取的任何專頁。 id
)和專頁存取憑證(access_token
)。{ "data": [ { "access_token": "EBACf...", //Copy your Page Access Token "category": "Media", "category_list": [ { "id": "163003840417682", "name": "Media" } ], "name": "Metricsaurus", "id": "1755847768034402", //Copy your Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ], "paging": { "cursors": { "before": "MTc1NTg0Nzc2ODAzNDQwMgZDZD", "after": "MTc1NTg0Nzc2ODAzNDQwMgZDZD" } } }
graph-video.facebook.com
主機的 POST /page-id/videos
關係連線傳送 cURL 要求。如果您是使用 Postman,請在要求正文中以表格資料形式加入查詢參數鍵和值。curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
),將 access_token
設為您剛才複製的專頁存取憑證,並將 file_size
設為影片檔案的總大小,以位元組作為單位。{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
除外。向 POST /{page-id}/videos
關係連線傳送另一個要求,並在其中加入您的 upload_session_id
和首個影片區段的名稱。
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=0" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xaa"
如果您是使用 cURL,請在檔案名稱前加入 @
符號。
如果您是使用 Postman,請省略 @
符號,而是將 video_file_chunk
設為 File(將鼠標移到該列以觸發下拉式選單),並手動選擇首個區段檔案。
API 將傳回包含新 start_offset
的回應。擷取這個新值。
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
設為上個回應中傳回的新 start_offset
值,並將 video_file_chunk
設為序列中下一個影片區段的名稱。curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=10485760" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xab"API 將會傳回包含新
start_offset
值的回應,您可以將其用於上載序列中的下個區段。
{ "start_offset":"15728640", "end_offset":"20971520" }
上載好最後一個區段後,向同一端點傳送最後一個要求,並將 upload_phase
設為完成,以結束上載連線階段。
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
成功時,API 將結束上載連線階段,並傳回包含 true
的回應。
{ "success": true }
我們會組合您的影片並為其編碼。編碼程序可能需時若干分鐘,以確保完整地編碼,具體視乎您的影片檔案大小而定。