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.
Mengunggah file adalah proses dua langkah:
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.
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.
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.
{ "id": "{id}" }
Nilai properti tanggapan:
{id}
— ID sesi unggah.
curl -X POST \
"https://graph.facebook.com/v19.0
/584544743160774/uploads?file_length=109981&file_type=image/png&access_token=EAAIT..."
{ "id": "upload:MTphd..." }
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.
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.
{ "h": "{h}" }
Nilai properti tanggapan:
{h}
— Nama sementara file yang diunggah
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
{ "h": "2:c2FtcGxl..." }
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.
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.{ "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.
curl -X GET \
"https://graph.facebook.com/v19.0
/upload:MTphd...&access_token=EAAIT..." \
{ "id": "upload:MTphd", "file_offset": 5238 }