Dokumen ini menunjukkan kepada Anda cara menggunakan Facebook Stories API untuk menerbitkan Cerita di Halaman Facebook.
Untuk menerbitkan cerita, aplikasi Anda akan melakukan langkah-langkah berikut:
Panduan ini berasumsi Anda telah membaca Ringkasan Pages API dan menerapkan komponen yang dibutuhkan, dan berhasil menyelesaikan Panduan Memulai.
CREATE_CONTENT pada Halaman yang diwakili dalam token akses Halaman dan memberi aplikasi Anda izin berikut:
pages_manage_postspages_read_engagementpages_show_listJika Anda menggunakan pengguna sistem bisnis dalam permintaan API Anda, izin business_management juga diperlukan.
Anda harus menyediakan foto atau video yang sesuai dengan spesifikasi berikut.
| Properti | Spesifikasi |
|---|---|
Jenis file | .jpeg, .bmp, .png, .gif, .tiff |
Ukuran file | File tidak boleh melebihi 4MB. Untuk file .png, kami rekomendasikan tidak melebihi 1MB atau gambar mungkin tampak berpiksel. |
| Properti | Spesifikasi | ||
|---|---|---|---|
Jenis File | .mp4 (direkomendasikan) | ||
Rasio Aspek | 9 x 16 | ||
Resolusi | 1080 x 1920 pixel (direkomendasikan). Minimal 540 x 960 pixel | ||
Laju Bingkai | 24 hingga 60 bingkai per detik | ||
Durasi | 3 sampai 90 detik. Reel yang diterbitkan sebagai cerita di Halaman Facebook tidak boleh melebihi 60 detik. | ||
Pengaturan Video |
| ||
Pengaturan Audio |
|
GET Anda guna melihat cerita, Anda harus mengaktifkan arsip cerita Facebook Anda
Saat menguji panggilan API, Anda dapat menyertakan parameter access_token ke token akses Anda. Namun, saat melakukan panggilan aman dari aplikasi Anda, gunakan kelas token akses.
Contoh kode dalam dokumen ini diformat agar mudah dibaca. Ganti nilai yang dicetak tebal dan miring, seperti page_id, dengan nilai Anda.
Untuk menerbitkan cerita video di Halaman Facebook, mulai sesi unggah video dengan server Meta, unggah video ke server Meta, lalu terbitkan cerita video.
Untuk memulai sesi unggah, kirim permintaan POST ke endpoint /page_id/video_stories, dengan page_id adalah ID Halaman Facebook Anda, dengan parameter upload_phase diatur ke start.
curl -X POST "https://graph.facebook.com/v25.0/page_id/video_stories" \
-d '{
"upload_phase":"start",
}'
Setelah berhasil, aplikasi Anda menerima tanggapan JSON dengan ID video dan URL Facebook tempat Anda akan mengunggah video.
{
"video_id": "video_id",
"upload_url": "https://rupload.facebook.com/video-upload/v25.0/video_id",
} Sekarang setelah Anda memulai sesi unggah dan menerima URL pengunggahan, Anda dapat mengunggah video Anda. Anda dapat mengunggah:
Untuk mengunggah file yang di-hosting, kirim permintaan POST ke endpoint upload_url yang Anda terima di langkah inisialisasi dengan parameter berikut:
file_url diatur ke URL file video AndaPastikan host-nya adalah rupload.facebook.com.
API sekarang akan menolak file yang dihosting di situs yang membatasi akses melalui robots.txt. Developer perlu memastikan bahwa situs hosting mengizinkan agen pengguna “facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)” untuk mengambil file yang dihosting.
File yang dihosting di Meta CDN (contohnya, URL fbcdn) akan ditolak. Sebaliknya, developer dapat menggunakan fitur crossposting untuk menerbitkan video di beberapa halaman tanpa mengunggah video ke setiap halaman. Baca panduan terperinci kami tentang crossposting.
curl -X POST "https://rupload.facebook.com/video-upload/v25.0/video_id" \
-H "file_url: https://some.cdn.url/video.mp4"
Untuk mengunggah file yang lokal, kirim permintaan POST ke endpoint upload_url yang Anda terima di langkah inisialisasi dengan parameter berikut:
offset diatur ke 0file_size diatur ke ukuran total dalam bita video yang sedang diunggah
curl -X POST "https://rupload.facebook.com/video-upload/v25.0/video_id" \
-H "offset: 0" \
-H "file_size: file_size_in_bytes" \
--data-binary "@/path/to/file/my_video_file.mp4"
Setelah berhasil mengunggah, aplikasi Anda akan menerima tanggapan JSON dengan success diatur ke true.
{
"success": true
} Jika unggahan video terinterupsi, Anda dapat memulai ulang unggahan atau melanjutkan unggahannya.
POST dan atur offset ke 0. POST dengan offset diatur ke nilai bytes_transfered dari pemeriksaan status.Untuk memeriksa status video Anda, selama unggahan atau penerbitan, kirim permintaan GET ke endpoint /video_id dengan parameter berikut:
fields diatur ke status
curl -X GET "https://graph.facebook.com/v25.0/video_id" \
-d "fields=status"
Setelah berhasil, aplikasi Anda menerima tanggapan JSON yang berisi:
status yang berisi:
video_status dengan nilai ready, processing, expired, atau erroruploading_phase dengan pasangan kode-nilai berikut:
status diatur ke in_progress, not_started, complete, atau errorbytes_transfered diatur ke bita yang telah diunggah. Dapat digunakan sebagai nilai offset jika unggahan terinterupsi.processing_phase dengan pasangan kode-nilai berikut:
status diatur ke in_progress, not_started, complete, atau errorprocessing_phase dengan pasangan kode-nilai berikut:
status diatur ke in_progress, not_started, complete, atau errorpublish_status diatur ke published atau not_publishedpublish_time diatur ke cap waktu UNIX dari waktu aktual atau waktu penerbitan
Tanggapan berikut menunjukkan file yang telah berhasil diunggah.
{
"status": {
"video_status": "processing",
"uploading_phase": {
"status": "in_progress",
"bytes_transfered": 50002
},
"processing_phase": {
"status": "not_started"
}
"publishing_phase": {
"status": "not_started",
"publish_status": "published",
"publish_time": 234523452
}
}
}
|
Tanggapan berikut menunjukkan kesalahan telah terjadi pada tahap pemrosesan.
{
"status": {
"video_status": "processing",
"uploading_phase": {
"status": "complete"
},
"processing_phase": {
"status": "not_started",
"error": {
"message": "Resolution too low. Video must have a minimum resolution of 540p."
}
}
"publishing_phase": {
"status": "not_started"
}
}
}
|
Untuk menerbitkan cerita video ke Halaman Anda, kirim permintaan POST ke endpoint /page_id/video_stories dengan parameter berikut:
video_id diatur ke ID video yang Anda unggahupload_phase diatur ke finish
curl -X POST "https://graph.facebook.com/v25.0/page_id/video_stories" \
-d '{
"video_id": "video_id",
"upload_phase": "finish"
}'
Setelah berhasil, aplikasi Anda menerima tanggapan JSON yang berisi pasangan kode-nilai berikut:
success diatur ke truepost_id diatur ke ID postingan cerita Anda
{
"success": true,
"post_id": 1234
}
Kunjungi Referensi Postingan Halaman
untuk mempelajari cara mengunggah foto ke server Meta menggunakan endpoint /page_id/photos. Pastikan untuk menyertakan parameter published dan mengaturnya ke false.
Untuk menerbitkan cerita foto ke Halaman Anda, kirim permintaan POST ke endpoint /page_id/photo_stories dengan parameter berikut:
photo_id diatur ke ID foto yang Anda unggah
curl -X POST "https://graph.facebook.com/v25.0/page_id/photo_stories" \
-d '{
"photo_id": "photo_id"
}'
Setelah berhasil, aplikasi Anda menerima tanggapan JSON yang berisi pasangan kode-nilai berikut:
success diatur ke truepost_id diatur ke ID postingan cerita Anda
{
"success": true,
"post_id": 1234
}
Untuk mendapatkan daftar semua cerita untuk Halaman serta data tentang setiap cerita, kirim permintaan GET ke endpoint /page_id/stories di mana page_id adalah ID Halaman yang ingin Anda lihat.
curl -i -X GET "https://graph.facebook.com/v25.0/page_id/stories"
Jika berhasil, aplikasi Anda menerima tanggapan JSON dengan array objek, setiap objeknya berisi informasi tentang cerita yang diterbitkan di Halaman. Setiap objek berisi pasangan kode-nilai berikut:
post_id diatur ke ID postingan cerita yang diterbitkanstatus diatur ke PUBLISHED, ARCHIVEDcreation_time diatur ke cap waktu UNIX saat cerita diterbitkanmedia_type diatur ke video atau photomedia_id diatur ke ID video atau foto di postingan ceritaurl diatur ke URL Facebook untuk postingan cerita, seperti https://facebook.com/stories/8283482737484972
{
"data": [
{
"post_id": "post_id",
"status": "PUBLISHED",
"creation_time": "123456",
"media_type": "video",
"media_id": "video_id",
"url": "https://facebook.com/stories…"
},
{
"post_id": "post_id",
"status": "PUBLISHED",
"creation_time": "123456",
"media_type": "photo",
"media_id": "photo_id",
"url": "https://facebook.com/stories…"
},
{
"post_id": "post_id",
"status": "ARCHIVED",
"creation_time": "123456",
"media_type": "photo",
"media_id": "photo_id",
"url": "https://facebook.com/stories…"
},
...
],
}
Anda dapat memfilter cerita berdasarkan status, diterbitkan atau diarsipkan, dan tanggal, menggunakan parameter since dan until.
Pelajari selengkapnya tentang endpoint dan konsep yang dibahas dalam panduan ini.