API Unggah yang Dapat Dilanjutkan

API Unggah yang Dapat Dilanjutkan memungkinkan Anda untuk mengunggah file besar ke Graph API dan melanjutkan sesi unggah yang terganggu tanpa harus memulai dari awal. Setelah diunggah, Anda dapat menggunakan nama sementara file yang diunggah dengan endpoint Graph API lain yang mendukungnya.

Perhatikan bahwa API Unggah yang Dapat Dilanjutkan bukan satu-satunya cara untuk mengunggah file. Banyak node memiliki edge yang mendukung pengunggahan, tetapi sebagian besar tidak memiliki cara untuk menangani file besar atau cara untuk melanjutkan sesi unggah yang terganggu.

Referensi untuk endpoint yang mendukung nama sementara file yang diunggah akan menunjukkan apakah endpoint mendukung nama sementara yang ditampilkan oleh API Unggah yang Dapat Dilanjutkan.

Langkah Mengunggah

Mengunggah file adalah proses dua langkah:

  1. Gunakan endpoint Unggah Aplikasi untuk mendeskripsikan file Anda dan membuat sesi unggah.
  2. Gunakan ID sesi unggah yang diberikan untuk memulai proses unggah.

Jika berhasil, nama sementara file akan diberikan yang kemudian dapat Anda gunakan dengan endpoint lain yang mendukung nama sementara file yang diberikan oleh API Unggah yang Dapat Dilanjutkan.

Langkah 1: Buat Sesi

Kirim permintaan POST yang mendeskripsikan file Anda ke endpoint Unduhan Aplikasi ({app-id}/uploads). Setelah berhasil, ID sesi pengunggahan akan diberikan yang dapat Anda gunakan dalam langkah berikutnya untuk memulai pengunggahan.

Sintaksis Permintaan

POST https://graph.facebook.com/{api-version}/{app-id}/uploads
  &file_length={file-length}
  &file_type={file-type}
  &access_token={access-token}

Placeholder Parameter:

  • {api-version} — Versi Graph API.
  • {app-id} — ID aplikasi. File yang diunggah dan akan dikaitkan dengan aplikasi ini. Peran pengguna aplikasi haruslah administrator atau developer pada aplikasi ini.
  • file-length — Ukuran file, dalam bita.
  • file-type — Jenis MIME file. Nilai yang valid adalah: application/pdf, image/jpeg, image/jpg, image/png, dan video/mp4
  • {access-token} — Token Akses Pengguna aplikasi.

Baca referensi endpoint Unggah Aplikasi untuk daftar lengkap parameter kueri yang tersedia dan jenis file yang didukung.

Tanggapan

{
  "id": "{id}"
}

Nilai properti tanggapan:

  • {id} — ID sesi unggah.

Contoh Permintaan

curl -X POST \
 "https://graph.facebook.com/v19.0/584544743160774/uploads?file_length=109981&file_type=image/png&access_token=EAAIT..."

Contoh Tanggapan

{
    "id": "upload:MTphd..."
}

Langkah 2: Mulai Unggah

Mulai sesi unggah dengan mengirimkan permintaan POST ke alamat host Graph API dan tambahkan sesi unggah {id} bersama dengan header yang diperlukan seperti di bawah ini. Setelah berhasil, nama sementara file, {h}, yang kemudian dapat Anda gunakan dengan endpoint Graph API yang mendukung nama sementara file yang diberikan oleh API Unggah yang Dapat Dilanjutkan.

Jika sesi unggah memakan waktu lebih lama dari yang diharapkan atau telah terputus, ikuti langkah-langkah yang dijelaskan di bagian Gangguan.

Sintaksis Permintaan

POST https://graph.facebook.com/{api-version}/{upload-session-id}
  --header 'Authorization: OAuth {access-token}' 
  --header 'file_offset: 0'
  --data-binary @{file-name}

Nilai Placeholder

  • {api-version} — Versi Graph API.
  • {upload-session-id} — ID sesi unggah yang diberikan di Langkah 1.
  • {access-token} — Token Akses Pengguna aplikasi. Pengguna aplikasi harus memiliki peran pada aplikasi yang menjadi target di langkah 1.
  • {file-name} — Nama file yang akan diunggah.

Anda harus menyertakan token akses di header atau permintaan Anda akan gagal.

Tanggapan

{
  "h": "{h}"
}

Nilai properti tanggapan:

  • {h} — Nama sementara file yang diunggah

Contoh Permintaan

curl -X POST \
 "https://graph.facebook.com/v19.0/upload:MTphd..." \
 --header "Authorization: OAuth EAAIT..." \
 --header "file_offset: 0" \
 --data-binary @cats_are_jerks.png

Contoh Tanggapan

{
    "h": "2:c2FtcGxl..."
}

Gangguan

Jika Anda telah memulai sesi unggah tetapi membutuhkan waktu lebih lama dari yang diharapkan atau mengalami gangguan, kirim permintaan GET ke alamat host Graph API dan tambahkan ID sesi unggah Anda. API memberikan nilai file_offset yang dapat Anda gunakan untuk melanjutkan proses unggah dari titik gangguan.

Sintaksis Permintaan

GET https://graph.facebook.com/{api-version}/{upload-session-id}
  ?access_token={access-token}

Nilai placeholder:

  • {api-version} — Versi Graph API.
  • {upload-session-id} — ID sesi unggah yang diberikan di Langkah 1: Buat Sesi.
  • {access-token} — Token Akses Pengguna aplikasi.

Tanggapan

{
  "id": "{id}",
  "file_offset": {file-offset}
}

Nilai properti tanggapan:

  • {id} — ID sesi unggah yang di-kueri.
  • {file-offset} — Bilangan bulat yang menunjukkan jumlah bita yang telah berhasil diunggah.

Menangkap nilai file_offset dan Langkah 2: Mulai Unggah, menetapkan nilai ke header file_offset yang sesuai. Ini akan melanjutkan proses unggah dari titik gangguan.

Contoh Permintaan

curl -X GET \
 "https://graph.facebook.com/v19.0/upload:MTphd...&access_token=EAAIT..." \

Contoh Tanggapan

{
  "id": "upload:MTphd",
  "file_offset": 5238
}