บทแนะนำการใช้งานนี้จะแสดงวิธีใช้ API วิดีโอเพื่อสร้างวิดีโอในเพจ โดยจะถือว่าคุณทราบวิธีส่งคำขอ cURL พื้นฐานด้วยเครื่องมือบรรทัดคำสั่งอย่าง Terminal หรือแอพ เช่น Postman รวมถึงมีความคุ้นเคยเบื้องต้นกับ Graph API Explorer แล้ว
คุณจะต้องมีสิ่งต่อไปนี้
CREATE_CONTENT
ได้โดยทั่วไป คุณต้องดำเนินการเข้าสู่ระบบด้วย Facebook ในแอพของคุณและใช้เพื่อรับโทเค็นการเข้าถึงจากผู้ใช้แอพ แต่สำหรับบทแนะนำการใช้งานนี้ คุณสามารถใช้ Graph API Explorer ได้เนื่องจากดำเนินการเข้าสู่ระบบด้วย Facebook แล้ว และทำให้คุณสร้างโทเค็นให้กับแอพใดๆ ของคุณได้ง่าย
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" } } }
POST /page-id/videos
บนโฮสต์ graph-video.facebook.com
หากคุณใช้ Postman อยู่ ให้ใส่คีย์และค่าพารามิเตอร์การสืบค้นในเนื้อความ (Body) คำขอเป็น form-datacurl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
) ในพาธคำขอด้วย ID ของเพจ รวมถึงตั้งค่า 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 }
เราจะรวบรวมวิดีโอของคุณและเข้ารหัส ขั้นตอนการเข้ารหัสอาจใช้เวลาเข้ารหัสโดยสมบูรณ์หลายนาที ทั้งนี้ขึ้นอยู่กับขนาดรวมของไฟล์วิดีโอของคุณ