Panduan ini menjelaskan cara menggunakan Jendela Otorisasi untuk mendapatkan Token Akses Pengguna Instagramberdurasi singkat dan izin dari pengguna Instagram.
Jendela Otorisasi mengizinkan pengguna aplikasi memberi aplikasi Anda izin dan Token Akses Pengguna Instagramberdurasi singkat. Setelah pengguna login dan memilih data mana yang dapat diakses aplikasi Anda, kami akan mengarahkan pengguna ke aplikasi Anda dan menyertakan Kode Otorisasi, yang kemudian dapat Anda tukarkan dengan token akses berdurasi singkat.
Untuk memulai proses, dapatkan Jendela Otorisasi dan tunjukkan kepada pengguna:
https://api.instagram.com/oauth/authorize ?client_id={instagram-app-id} &redirect_uri={redirect-uri} &scope={scope} &response_type=code &state={state} //Optional
Semua parameter kecuali state
diperlukan.
Parameter | Nilai Contoh | Deskripsi |
---|---|---|
|
| ID Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar. |
|
| URI tempat kami akan mengarahkan pengguna setelah mereka mengizinkan atau menolak permintaan izin. Pastikan ini sama persis dengan salah satu URI dasar dalam daftar URI oAuth valid Anda. Ingatlah bahwa Dasbor Aplikasi mungkin telah menambahkan garis miring ke URI Anda, jadi kami rekomendasikan Anda memverifikasi dengan memeriksa daftar. |
|
| Atur nilai ini ke |
|
| Daftar yang dipisahkan koma, atau daftar yang dipisahkan spasi dan berenkode URL, berisi izin yang ingin diminta dari pengguna aplikasi. |
|
| Nilai opsional mengindikasikan status yang spesifik server. Contoh: Anda dapat menggunakan ini untuk mencegah isu-isu CSRF. Kami akan menyertakan parameter dan nilai ini saat mengarahkan kembali pengguna kepada Anda. |
https://api.instagram.com/oauth/authorize ?client_id=990602627938098 &redirect_uri=https://socialsizzle.herokuapp.com/auth/ &scope=user_profile,user_media &response_type=code
Jika otorisasi berhasil, kami akan mengarahkan pengguna ke redirect_uri
Anda dan memberikan Anda Kode Otorisasi melalui parameter string kueri code
. Catat kode sehingga aplikasi Anda dapat menukarnya dengan Token Akses Pengguna Instagram berdurasi singkat.
Kode Otorisasi valid selama 1 jam dan hanya dapat digunakan satu kali.
https://socialsizzle.herokuapp.com/auth/?code=AQBx-hBsH3...#_
Harap diketahui bahwa #_
akan ditambahkan ke akhir URI pengalihan, tetapi itu bukan bagian dari kode itu sendiri, jadi hapus itu.
Jika pengguna membatalkan alur otorisasi, kami akan mengarahkan pengguna ke redirect_uri
Anda dan menambahkan parameter kesalahan berikut. Anda bertanggung jawab untuk menangani kegagalan seperti ini dengan baik dan menampilkan pesan yang pantas kepada pengguna.
Parameter | Nilai |
---|---|
|
|
|
|
|
|
https://socialsizzle.herokuapp.com/auth/?error=access_denied &error_reason=user_denied &error_description=The+user+denied+your+request
Setelah Anda menerima kode, tukarkan untuk token akses berdurasi singkat dengan mengirimkan permintaan POST
ke endpoint berikut:
POST https://api.instagram.com/oauth/access_token
Sertakan parameter berikut di badan permintaan POST Anda.
Parameter | Nilai Contoh | Deskripsi |
---|---|---|
|
| ID Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar. |
|
| Kunci Rahasia Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar. |
|
| Kode otorisasi yang kami teruskan kepada Anda di parameter |
|
| Atur nilai ini ke |
|
| URI pengalihan yang Anda berikan kepada kami saat Anda mengarahkan pengguna ke Jendela Otorisasi kami. Ini haruslah URI yang sama atau kami akan menolak permintaan. |
curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id=990602627938098 \ -F client_secret=eb8c7... \ -F grant_type=authorization_code \ -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \ -F code=AQBx-hBsH3...
Jika berhasil, API akan mengembalikan muatan JSON yang berisi token akses berdurasi singkat dan ID Pengguna milik pengguna aplikasi.
{ "access_token": "IGQVJ...", "user_id": 17841405793187218 }
Catat nilai access_token
. Ini adalah Token Akses Pengguna Instagram berdurasi singkat milik pengguna yang dapat digunakan aplikasi Anda untuk mengakses endpoint API Tampilan Dasar Instagram.
Jika permintaan salah format, API akan mengembalikan kesalahan.
{ "error_type": "OAuthException", "code": 400, "error_message": "Matching code was not found or was already used" }