Hướng dẫn này chỉ cho bạn cách sử dụng API Video để tạo Video trên Trang. Hướng dẫn giả định rằng bạn biết cách thực hiện các yêu cầu cURL cơ bản bằng công cụ dòng lệnh như Terminal hoặc ứng dụng như Postman, đồng thời quen thuộc với Trình khám phá API Đồ thị.
Bạn sẽ cần:
CREATE_CONTENT
.Theo thông lệ chung, bạn phải triển khai phương thức Đăng nhập bằng Facebook cho ứng dụng của mình và dùng phương thức đó để lấy Mã truy cập từ người dùng ứng dụng. Tuy nhiên, trong hướng dẫn này, bạn có thể sử dụng Trình khám phá API Đồ thị vì công cụ này đã triển khai phương thức Đăng nhập bằng Facebook và giúp bạn dễ dàng tạo mã cho bất kỳ ứng dụng nào.
pages_manage_engagement
và pages_read_user_content
.
GET /me/accounts
. Yêu cầu này sẽ truy vấn người dùng và trả về bất kỳ Trang nào mà bạn đã cho phép ứng dụng truy cập ở bước cuối cùng. id
) và mã truy cập Trang (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" } } }
POST /page-id/videos
trên máy chủ graph-video.facebook.com
. Nếu bạn đang sử dụng Postman, hãy thêm các khóa và giá trị của thông số truy vấn vào phần Nội dung yêu cầu dưới dạng form-data.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
) trong đường dẫn yêu cầu bằng ID Trang của bạn, đặt access_token
thành mã truy cập Trang mà bạn vừa sao chép, sau đó đặt file_size
thành tổng kích thước của file video theo byte.{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
.Gửi một yêu cầu khác đến cạnh POST /{page-id}/videos
và thêm upload_session_id
cũng như tên file cắt đầu tiên của video.
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"
Nếu bạn đang sử dụng cURL, hãy thêm biểu tượng @
vào trước tên file của bạn.
Nếu bạn đang sử dụng Postman, hãy bỏ biểu tượng @
, đặt video_file_chunk
thành File (di chuột qua hàng cần kích hoạt menu thả xuống) rồi chọn file cắt đầu tiên theo cách thủ công.
API này sẽ phản hồi kèm theo start_offset
mới. Ghi lại giá trị mới.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
thành giá trị start_offset
mới được trả về trong phần phản hồi trước đó, sau đó đặt video_file_chunk
thành tên file cắt tiếp theo của video theo trình tự.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"Một lần nữa, API này sẽ phản hồi kèm theo giá trị
start_offset
mới. Bạn có thể dùng giá trị này để tải file cắt tiếp theo lên theo trình tự.
{ "start_offset":"15728640", "end_offset":"20971520" }
Sau khi bạn tải file cắt cuối cùng lên, hãy gửi một yêu cầu cuối cùng đến chính điểm cuối đó và đặt upload_phase
thành kết thúc để kết thúc phiên tải lên.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
Khi thành công, API này sẽ kết thúc phiên tải lên và phản hồi kèm theo true
.
{ "success": true }
Chúng tôi sẽ sắp xếp và mã hóa video của bạn. Quy trình mã hóa có thể mất tối đa vài phút mới hoàn tất, tùy theo tổng kích thước của file video.