Video API mengizinkan Anda menerbitkan Video di Halaman dan Grup. Menerbitkan di Pengguna tidak didukung.
Anda juga bisa menerbitkan Reels di Halaman. Untuk informasi selengkapnya, lihat API Penerbitan Reels.
Proses penerbitan Video melibatkan pemilihan protokol unggah dan pengiriman permintaan POST
ke edge /videos
Halaman atau Grup target. API mendukung protokol unggah Yang Dapat Dilanjutkan dan Yang Tidak Dapat Dilanjutkan. Kami rekomendasikan Anda untuk menggunakan protokol Unggah yang Dapat Dilanjutkan karena protokol ini lebih fleksibel dan dapat menangani gangguan koneksi dengan baik.
Perhatikan bahwa semua contoh dalam dokumen ini menggunakan node Halaman, tetapi berlaku sama untuk node Grup.
Semua tindakan penerbitan memerlukan Token Akses dan Izin yang sesuai berdasarkan node yang Anda target. Saat Anda menguji, Anda bisa menghasilkan Token dengan mudah dan memberikan aplikasi Anda Izin menggunakan Graph API Explorer. Baca panduan Memulai untuk melihat caranya. Saat Anda aplikasi siap untuk produksi, Anda mungkin harus menerapkan Facebook Login untuk mendapatkan Token dan Izin dari pengguna aplikasi Anda.
Pengguna aplikasi harus menjadi Admin dari Halaman yang Anda target. Anda akan memerlukan Token Akses Pengguna milik pengguna aplikasi dan mereka harus memberi aplikasi Anda izin pages_show_list
, pages_read_engagement
, dan pages_manage_posts
.
Pengguna aplikasi harus menjadi Admin Grup yang Anda target. Anda akan perlu menggunakan Token Akses Pengguna milik pengguna aplikasi dan mereka harus memberi aplikasi Anda izin publish_to_groups
.
Protokol Unggah yang Dapat Dilanjutkan adalah protokol penerbitan pilihan karena Anda bisa membagi video besar menjadi bagian yang lebih kecil untuk menghindari waktu habis. Ini sangat berguna terutama untuk video besar karena Anda lebih cenderung mengalami kesalahan koneksi. Jika Anda mengalami kesalahan koneksi saat mengunggah video besar, biasanya Anda harus mengunggah ulang seluruh video. Tetapi dengan menggunakan protokol Unggah yang Dapat Dilanjutkan, Anda hanya perlu mengunggah ulang bagian yang terpengaruh; potongan yang telah diunggah tidak perlu diunggah ulang.
Anda dapat menerbitkan video di Halaman atau Grup. Penerbitan melibatkan langkah-langkah berikut:
Setelah Anda mengakhiri sesi unggah, kami akan menyusun kembali video tersebut, mengenkodenya, dan menerbitkannya.
Video dibatasi hingga 10GB dan 4 jam.
Untuk menginisialisasi sesi unggah video, kirim permintaan POST
ke endpoint Video Halaman:
POST /v19.0
/{page-id}/videos
?upload_phase=start
&access_token={access-token}
&file_size={file-size}
Sertakan parameter berikut:
Nama Parameter | Nilai |
---|---|
|
|
| Token akses Halaman Anda jika menerbitkan di Halaman, atau token akses Pengguna Anda jika menerbitkan di Grup. |
| Ukuran total file video Anda dalam bita |
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "upload_phase=start" \
-F "access_token=EAADI..." \
-F "file_size=22420886"
{ "video_id":"2918040888250909", //Capture this value (optional) "start_offset":"0", //Capture this value "end_offset":"1048576", "upload_session_id":"2918040901584241" //Capture this value }
Catat nilai start_offset
dan upload_session_id
yang dikembalikan API. Anda akan menggunakannya di langkah berikutnya untuk mengunggah potongan video pertama Anda. Anda mungkin juga ingin mencatat nilai video_id
. Anda tidak membutuhkannya untuk penerbitan, tetapi itu akan menjadi ID video yang akhirnya diterbitkan.
Unggah setiap potongan video Anda sesuai urutan penyusunan dengan mengirimkan permintaan POST
secara berurutan ke endpoint Video Halaman:
POST /v19.0
/{page-id}/videos
?upload_phase=transfer
&access_token={access-token}
&upload_session_id={upload-session-id}
&start_offset={start-offset}
&video_file_chunk={video-file-chunk}
Sertakan data berikut sebagai multipart/form-data
di isi permintaan:
Nama Data di Formulir | Nilai |
---|---|
|
|
| Token akses Halaman Anda jika menerbitkan di Halaman, atau token akses Pengguna Anda jika menerbitkan di Grup. |
| ID sesi unggah Anda. |
| Nilai |
| Nama potongan video yang akan diunggah. |
Setiap kali Anda berhasil mengunggah sepotong, nilai start_offset
akan dikembalikan. Ulangi permintaan ini menggunakan nilai start_offset
yang baru dikembalikan dan nama potongan video berikutnya yang akan diunggah (ditetapkan ke video_file_chunk
) dan secara bertahap lanjutkan mengunggah semua potongan video yang tersisa.
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "upload_phase=transfer" \
-F "upload_session_id=2918040901584241" \
-F "access_token=EAADI..." \
-F "start_offset=0" \
-F "video_file_chunk=@/Users/...xaa"
{ "start_offset":"10485760", //Value for second chunk "end_offset":"15728640" }
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "upload_phase=transfer" \
-F "upload_session_id=2918040901584241" \
-F "access_token=EAADI..." \
-F "start_offset=10485760" \
-F "video_file_chunk=@/Users/...xab"
{ "start_offset":"20971520", //Value for third chunk "end_offset":"22420886" }
Setelah Anda mengunggah potongan terakhir Anda, API harus menanggapi dengan mencocokan nilai start_offset
dan end_offset
, menunjukkan bahwa Anda dapat mengakhiri sesi unggah.
{ "start_offset":"22420886", //When values match you can "end_offset":"22420886" //end the upload session }
Saat Anda mengakhiri sesi unggah, kami akan menyusun ulang video lengkapnya, mengenkodenya, lalu menerbitkannya di Halaman. Untuk mengakhiri sesi unggah, kirim satu permintaan POST
terakhir ke endpoint Video Halaman:
POST /v19.0
/{page-id}/videos
?upload_phase=finish
&access_token={access-token}
&upload_session_id={upload-session-id}
Sertakan parameter berikut:
Nama Parameter | Nilai |
---|---|
|
|
| Token akses Halaman Anda jika menerbitkan di Halaman, atau token akses Pengguna Anda jika menerbitkan di Grup. |
| ID sesi unggah Anda. |
Anda juga dapat menyertakan parameter tambahan yang didukung endpoint Video Halaman, seperti title
, description
, dan thumb
.
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "upload_phase=finish" \
-F "access_token=EAADI..." \
-F "upload_session_id=2918040901584241"
{ "success":true }
Ketika Anda menerima tanggapan ini, itu menunjukkan bahwa kami telah mulai menyusun dan mengenkode video lengkap. Anda seharusnya dapat melihat video yang diterbitkan dalam beberapa menit.
Kami rekomendasikan Anda untuk mengunggah file menggunakan protokol Unggah yang Dapat Dilanjutkan karena protokol ini menangani gangguan koneksi secara lebih efisien dan mendukung file yang lebih besar. Namun, jika Anda lebih suka mengunggah file menggunakan protokol Unggah yang Tidak Dapat Dilanjutkan, Anda dapat melakukannya dengan mengirimkan permintaan POST
ke edge Video Halaman dan menyertakan parameter source
(untuk file video lokal) atau parameter file_url
(untuk file yang di-hosting di server publik) dalam isi permintaan Anda sebagai multipart/form-data
. Anda juga dapat menyertakan parameter tambahan yang didukung endpoint Video Halaman, seperti title
, description
, dan thumb
.
Video dibatasi hingga 1GB dan 20 menit. Jika file video Anda lebih besar, bagi menjadi potongan dan terbitkan menggunakan protokol Unggah yang Dapat Dilanjutkan.
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "access_token=EAADd..." \
-F "source=@/Users/...incredible.mov"
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "access_token=EAADd..." \
-F "file_url=https://socialsizz.../incredible.mov"
Setelah berhasil, API akan menanggapi dengan ID Video yang diterbitkan.
{ "id":"287788272232962" //ID of the published Video }
Kami secara otomatis menghasilkan gambar mini menggunakan foto dari video yang diterbitkan. Gambar mini yang dihasilkan dapat ditingkatkan untuk meningkatkan kecerahan, warna, dan kontras. Anda dapat menyediakan gambar mini Anda sendiri dengan menyertakan kolom thumb
dengan protokol unggah Dapat Dilanjutkan atau Tidak Dapat Dilanjutkan. Jika menggunakan protokol unggah Dapat Dilanjutkan, sertakan kolom thumb
dalam Langkah 3: Akhiri Sesi Unggah. Gambar mini yang Anda sediakan tidak akan diubah.
Format: BMP, GIF, JPEG, PNG,TIFF
Ukuran File: 10MB atau kurang.
Tidak ada persyaratan dimensi gambar, tetapi gambar harus berbagi rasio aspek yang sama dengan video Anda.
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "upload_phase=finish" \
-F "access_token=EAADI..." \
-F "upload_session_id=2918040901584241"
-F "thumb=@/Users/...thumbnail_image.png"
{ "success":true }
curl -X POST \
"https://graph-video.facebook.com/v19.0
/1755847768034402/videos" \
-F "access_token=EAADd..." \
-F "source=@/Users/...incredible.mov"
-F "thumb=@/Users/...thumbnail_image.png"
{ "id":"287788272232962" }