يستعرض هذا العرض التوضيحي كيفية استخدام API الفيديو لإنشاء فيديو في صفحة. يفترض هذا الدليل أنك تعرف كيفية تنفيذ طلبات cURL الأساسية باستخدام أداة سطر أوامر مثل Terminal، أو تطبيق مثل Postman، وأنك على دراية بأساسيات بمستكشف Graph API.
ستحتاج إلى ما يلي:
CREATE_CONTENT
فيها.كممارسة عامة، يتعين عليك تنفيذ ميزة تسجيل دخول فيسبوك في تطبيقك واستخدامها للحصول على رموز الوصول من مستخدمي التطبيق. ومع ذلك، في هذا العرض التوضيحي، يمكنك استخدام مستكشف 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" } } }
POST /page-id/videos
بالمضيف graph-video.facebook.com
. إذا كنت تستخدم تطبيق 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
على الملف (مرِّر مؤشر الماوس فوق الصف لتنشيط القائمة المنسدلة) وحدد ملف الجزء الأول يدويًا.
ستستجيب 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 }
سنعمل على تجميع الفيديو وترميزه. قد تستغرق عملية الترميز عدة دقائق كحد أقصى لإنهاء الترميز بالكامل وفقًا لإجمالي حجم ملف الفيديو.