Instagram oEmbed

Anda dapat meng-kueri endpoint oEmbed Instagram untuk mendapatkan HTML sematan dan metadata dasar dari suatu postingan Instagram untuk menampilkan postingan tersebut di situs web atau aplikasi lain. Mendukung postingan foto, video, Reel, dan Panduan.

Penggunaan Umum

  • Me-render postingan di aplikasi berkirim pesan.
  • Penyematan postingan di situs web dan blog.
  • Me-render postingan di sistem pengelolaan konten.

Endpoint

EndpointDeskripsi

GET /instagram_oembed

Dapatkan HTML sematan dan metadata dasar dari postingan Instagram.

Batasan

  • Endpoint oEmbed Instagram hanya dimaksudkan untuk digunakan dalam menyematkan konten Instagram di situs web dan aplikasi. Endpoint tersebut tidak boleh digunakan untuk tujuan lain. Dilarang keras menggunakan metadata dan konten halaman, postingan, atau video (atau turunannya) dari endpoint untuk tujuan apa pun selain memberikan tampilan front-end halaman, postingan, atau video. Larangan ini mencakup menggunakan, memanipulasi, mengekstraksi, atau mempertahankan metadata dan konten, termasuk tetapi tidak terbatas pada memperoleh informasi tentang postingan dari metadata untuk tujuan analitik.
  • Postingan di akun Instagram pribadi, tidak aktif, dan dibatasi usia tidak didukung.
  • Akun yang telah menonaktifkan Sematan tidak didukung.
  • Cerita tidak didukung.
  • DOM Bayangan tidak didukung.

Tinjauan Aplikasi

Untuk menggunakan oEmbed, aplikasi Anda harus menjalani Tinjauan Aplikasi untuk fitur Baca oEmbed.

Untuk menyediakan URL tempat kami dapat menguji kolom formulir Baca oEmbed, gunakan endpoint Instagram oEmbed untuk mendapatkan HTML sematan bagi postingan publik di halaman Facebook atau halaman Instagram resmi kami (atau dapatkan HTML sematan untuk salah satu halaman itu sendiri). Tambahkan HTML sematan yang diberikan ke halaman Anda sendiri tempat Anda akan menampilkan konten oEmbed dan masukkan URL halaman itu di kolom formulir.

Setelah Anda disetujui untuk fitur Baca oEmbed, Anda dapat menyematkan halaman, postingan, atau video Anda sendiri menggunakan URL masing-masing.

Token Akses

Endpoint oEmbed Instagram membutuhkan Token Akses Aplikasi (direkomendasikan) atau Token Akses Klien.

Token Akses Aplikasi

Jika aplikasi Anda mengandalkan server backend, kami rekomendasikan Anda menggunakan Token Akses Aplikasi saat mengakses endpoint oEmbed. Batas laju bergantung pada jenis token yang disertakan dalam permintaan, dan Batas Laju Token Aplikasi mengizinkan hingga 5 juta permintaan per hari.

Instruksi untuk menghasilkan Token Akses Aplikasi dapat ditemukan di bagian Token Aplikasi dari dokumentasi Token Akses kami.

Harap diperhatikan bahwa Token Akses Aplikasi tidak boleh digunakan di sisi klien. Token Akses Aplikasi harus selalu dijaga agar tetap aman dan disimpan di server Anda. Jika aplikasi Anda harus menggunakan token sisi klien, gunakan Token Akses Klien sebagai gantinya.

Token Akses Klien

Jika aplikasi Anda harus mengakses endpoint oEmbed dari agen pengguna seperti perangkat seluler atau browser web, aplikasi Anda harus menggunakan Token Akses Klien dan akan tunduk pada Batas Laju Token Klien.

Untuk mendapatkan Token Akses Klien, masuk ke Dasbor Aplikasi, buka Pengaturan > Lanjutan > Keamanan > Token Klien.

Tidak seperti Token Akses Aplikasi, Token Akses Klien tidak dapat digunakan dalam permintaan endpoint oEmbed sendiri, Token Akses Klien harus dikombinasikan dengan ID Aplikasi Anda. Untuk melakukannya, tambahkan token Anda ke akhir ID aplikasi, dipisahkan dengan simbol pipa (|):

{app-id}|{client-token}

Contoh:

access_token=1234|5678

Batas Laju

Batas laju bergantung pada jenis Token Akses yang disertakan aplikasi Anda di setiap permintaan.

Batas Laju Token Aplikasi

Aplikasi yang mengandalkan Token Akses Aplikasi dapat membuat hingga 5 juta permintaan per 24 jam.

Batas Laju Token Klien

Batas Laju Token Klien secara signifikan lebih rendah daripada Batas Laju Token Aplikasi. Kami tidak mengungkapkan batas sebenarnya karena akan berubah, tergantung aktivitas aplikasi Anda. Namun, Anda dapat dengan aman berasumsi bahwa aplikasi Anda tidak akan mencapai batasnya kecuali jika aplikasi Anda menunjukkan perilaku seperti bot, misalnya mengelompokkan ribuan permintaan, atau mengirimkan ribuan permintaan per agen atau pengguna aplikasi.

Mendapatkan HTML Sematan

Untuk mendapatkan HTML sematan dari postingan Instagram, kirimkan permintaan ke:

GET /instagram_oembed?url={url}&access_token={access-token}

Ganti {url} dengan URL postingan Instagram yang ingin Anda kueri dan {access-token} dengan Token Akses Aplikasi atau Token Akses Klien (atau teruskan kepada kami di header HTTP). Jika Anda menggunakan Token Akses Klien, ingatlah bahwa Anda harus menggabungkannya dengan ID Aplikasi Anda menggunakan simbol pipa, kalau tidak, permintaan akan gagal.

Setelah berhasil, API akan menanggapi dengan objek JSON yang berisi HTML sematan postingan dan data tambahan. HTML sematan akan ditetapkan ke properti html.

Bacalah referensi oEmbed Instagram untuk daftar parameter string kueri yang dapat Anda sertakan untuk menambah permintaan. Anda juga dapat menyertakan parameter string kueri fields untuk menentukan Kolom mana yang Anda ingin dikembalikan. Jika tidak ada, semua Kolom default akan disertakan dalam tanggapan.

Contoh Permintaan

curl -X GET \
  "https://graph.facebook.com/v19.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."

Contoh Tanggapan

Beberapa nilai terpotong dengan elipsis (...) agar mudah dibaca.

{
  "version": "1.0",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/",
  "type": "rich",
  "width": 658,
  "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
  "thumbnail_width": 640,
  "thumbnail_height": 640
}

Format URL

Parameter string kueri url menerima format URL berikut ini:

https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/https://www.instagram.com/{username}/guide/{slug}/{guide_id}

JS Sematan

HTML sematan berisi referensi ke galeri JavaScript embed.js Instagram. Ketika galeri memuat, galeri memindai halaman untuk HTML postingan dan menghasilkan postingan yang di-render sepenuhnya. Jika Anda ingin memuat pustaka secara terpisah, sertakan parameter string kueri omitscript=true dalam permintaan Anda. Untuk menginisialisasi HTML sematan secara manual, panggil fungsi instgrm.Embeds.process() setelah memuat pustaka.

Ukuran Postingan

Postingan sematan bersifat responsif dan akan beradaptasi dengan ukuran kontainernya. Ini berarti bahwa tingginya akan bervariasi sesuai lebar kontainernya dan panjang keterangannya. Anda dapat mengatur lebar maksimum dengan memasukkan parameter string kueri maxwidth dalam permintaan Anda.

Mendapatkan Gambar Mini

Kami rekomendasikan Anda me-render semua HTML sematan postingan jika memungkinkan. Jika tidak dapat melakukan ini, Anda bisa mendapatkan URL gambar mini postingan dan me-rendernya. Jika Anda melakukan hal ini, Anda harus memberikan atribusi yang jelas di sebelah gambar, termasuk atribusi ke penulis asli dan ke Instagram, serta tautan ke postingan Instagram yang Anda kueri.

Untuk mendapatkan URL gambar mini dan informasi atribusi dari postingan, kirimkan permintaan ke:

GET /instagram_oembed
  ?url={url}
  &maxwidth={maxwidth}
  &fields=thumbnail_url,author_name,provider_name,provider_url
  &access_token={access-token}

Ganti {url} dengan URL postingan Instagram yang ingin Anda kueri, {maxwidth} dengan ukuran maksimum gambar mini yang ingin Anda render, dan {access-token} dengan Token Akses Aplikasi atau Token Akses Klien Anda.

Contoh Permintaan

curl -i -X GET \
  "https://graph.facebook.com/v19.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."

Contoh Tanggapan

Beberapa nilai terpotong dengan elipsis (...) agar mudah dibaca.

{
  "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/"
}

Meneruskan Token Akses di Header

Jika Anda tidak ingin menyertakan Token Akses Anda ke string kueri permintaan, Anda bisa meneruskannya kepada kami melalui header HTTP Authorization.

Authorization: Bearer {access-token}

Contoh:

curl -i -X GET \
  "https://graph.facebook.com/v19.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN" \
  --header "Authorization: Bearer 96481..."