Memulai

Tutorial ini menunjukkan cara menggunakan Video API untuk membuat Video di Halaman. Hal ini mengasumsikan bahwa Anda tahu cara melakukan permintaan cURL dasar dengan fitur baris perintah seperti Terminal, atau aplikasi seperti Postman, dan terbiasa dengan Graph API Explorer.

Sebelum Memulai

Anda memerlukan:

  • Aplikasi Facebook yang sudah ada Jika tidak punya, buka Facebook untuk Developer, klik Aplikasi Saya, dan buatlah.
  • Video10–20 MB yang telah Anda bagi menjadi potongan 5 MB, dengan semua potongan dalam satu direktori.
  • Halaman tempat Anda dapat melakukan TugasCREATE_CONTENT.
  • Akses ke fitur baris perintah (seperti Terminal) atau aplikasi (seperti Postman) yang bisa melakukan permintaan cURL.

Langkah 1: Dapatkan Token Akses Pengguna

Sebagai praktik umum, Anda harus menerapkan Facebook Login ke dalam aplikasi Anda dan gunakan untuk mendapatkan Token Akses dari pengguna aplikasi Anda. Namun, untuk tutorial ini, Anda dapat menggunakan Graph API Explorer karena telah menerapkan Facebook Login dan memudahkan Anda untuk menghasilkan token untuk aplikasi apa pun.

  1. Muat Graph API Explorer dan dari menu pilihan Aplikasi Facebook, pilih aplikasi Anda.

  2. Di menu pilihan Pengguna atau Halaman, pilih Dapatkan Token Akses Pengguna, dan lanjutkan sebagai diri sendiri, lalu autentikasi. Jika Anda menggunakan kembali aplikasi lama, Anda mungkin sudah diautentikasi.

  3. Di bagian Izin, gunakan bidang pencarian Tambahkan izin untuk mencari dan memilih izin berikut: pages_manage_engagement dan pages_read_user_content.
  4. Klik Buat Token Akses.
  5. Di jendela modal yang muncul, lanjutkan sebagai diri Anda sendiri dan pilih Halaman tempat Anda akhirnya ingin mengunggah video Anda.
  6. Lanjutkan dengan Berikutnya untuk sisanya di layar sampai modal selesai. Ini memberi aplikasi Anda izin yang telah Anda pilih dan juga menghasilkan token akses pengguna.
  7. Opsional Klik ikon info biru untuk memverifikasi bahwa Anda telah memberikan aplikasi Anda izin (cakupan) yang benar.

Langkah 2: Dapatkan ID Halaman Anda dan Tokennya

  1. Menggunakan Graph API Explorer, kirim permintaan ke edge GET /me/accounts. Ini akan meng-kueri pengguna Anda dan menampilkan Halaman apa pun yang Anda izinkan untuk diakses aplikasi Anda pada langkah terakhir.
  2. Identifikasi Halaman Anda di tanggapan dan salin ID-nya (id) dan token akses Halaman (access_token).
  3. {
      "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"
        }
      }
    }
    

Langkah 3: Buat Sesi Video

  1. Di fitur baris perintah Anda, navigasikan ke folder yang berisi potongan video Anda, lalu kirim permintaan cURL ke edge POST /page-id/videos di host graph-video.facebook.com. Jika menggunakan Postman, sertakan kunci dan nilai parameter kueri di Body permintaan sebagai form-data.

  2. Contoh Permintaan
    curl -X POST \
      "https://graph-video.facebook.com/1755847768034402/videos" \
      -F "access_token=EBACf..." \
      -F "upload_phase=start" \
      -F "file_size=77188035"
    
  3. Ganti ID Halaman (1755847768034402) di jalur permintaan dengan ID Halaman Anda, atur access_token ke token akses Halaman yang baru saja Anda salin, dan file_size ke ukuran total file video, dalam bita.

  4. API mengembalikan sesi video:
    {
      "video_id": "225467151853466",
      "start_offset": "0",
      "end_offset": "1048576",
      "upload_session_id": "225467155186799"
    }
    
  5. Salin semua nilai yang dikembalikan, kecuali end_offset.

Langkah 4: Unggah Potongan Video Pertama

Kirim permintaan lain ke edge POST /{page-id}/videos dan sertakan upload_session_id Anda bersama nama potongan video pertama Anda.

Contoh Permintaan

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"

Jika Anda menggunakan cURL, sertakan simbol @ sebelum nama file Anda.

Jika menggunakan Postman, hilangkan simbol @, atur video_file_chunk ke File (arahkan kursor ke baris untuk memicu menu pilihan), dan pilih file potongan pertama secara manual.

API akan menanggapi dengan start_offset baru. Ambil gambar nilai baru.

{
  "start_offset": "10485760",
  "end_offset": "15728640"
}

Langkah 5: Unggah Potongan Video yang Tersisa

  1. Lakukan permintaan yang sama, tetapi atur start_offset ke nilai start_offset baru yang dikembalikan dalam tanggapan sebelumnya, dan atur video_file_chunk ke nama bagian video berikutnya secara berurutan.
  2. 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 sekali lagi akan menanggapi dengan nilai start_offset yang baru, yang dapat Anda gunakan untuk mengunggah potongan berikutnya secara berurutan.
    {
      "start_offset":"15728640",
      "end_offset":"20971520"
    }
    
  3. Terus ulangi langkah ini sampai Anda mengunggah semua potongan video yang tersisa dalam urutan yang benar. Program yang Anda gunakan untuk membagi file video menjadi beberapa bagian harus berhati-hati menamai potongan Anda secara berurutan.

Langkah 6: Akhiri Sesi Unggah

Setelah Anda mengunggah potongan terakhir, akhiri sesi unggah dengan mengirimkan satu permintaan terakhir ke endpoint yang sama dan atur upload_phase ke finish.

Contoh Permintaan

curl -X POST \
  "https://graph-video.facebook.com/1755847768034402/videos"  \
  -F "access_token=EBACf..." \
  -F "upload_phase=finish" \
  -F "upload_session_id=225467155186799"

Setelah berhasil, API akan mengakhiri sesi unggah dan menanggapi dengan true.

{
  "success": true
}

Kami akan menyusun video Anda dan mengenkodenya. Proses enkode mungkin membutuhkan waktu beberapa menit untuk enkode utuh, bergantung pada ukuran total file video Anda.