Dokumen ini sudah diperbarui.
Terjemahan ke Bahasa Indonesia belum selesai.
Bahasa Inggris diperbarui: 28 Sep 2021

Mendapatkan Token Akses dan Izin

Panduan ini menjelaskan cara menggunakan Jendela Otorisasi untuk mendapatkan Token Akses Pengguna Instagramberdurasi singkat dan izin dari pengguna Instagram.

Langkah 1: Mendapatkan Otorisasi

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

Parameter String Kueri

Semua parameter kecuali state diperlukan.

ParameterNilai ContohDeskripsi

client_id
Wajib
String numerik

990602627938098

ID Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar.

redirect_uri
Wajib
String

https://socialsizzle.herokuapp.com/auth/

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.

response_type
Wajib
String

code

Atur nilai ini ke code.

scope
Wajib
Daftar yang dipisahkan koma atau spasi

user_profile,user_media

Daftar yang dipisahkan koma, atau daftar yang dipisahkan spasi dan berenkode URL, berisi izin yang ingin diminta dari pengguna aplikasi. user_profile wajib diisi.

state
String

1

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.

Contoh URL Jendela Otorisasi

https://api.instagram.com/oauth/authorize
  ?client_id=990602627938098
  &redirect_uri=https://socialsizzle.herokuapp.com/auth/
  &scope=user_profile,user_media
  &response_type=code

Otorisasi Berhasil

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.

Contoh Pengalihan Autentikasi Berhasil

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.

Otorisasi Dibatalkan

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.

ParameterNilai

error

access_denied

error_reason

user_denied

error_description

The+user+denied+your+request

Contoh Pengalihan Otorisasi Dibatalkan

https://socialsizzle.herokuapp.com/auth/?error=access_denied
  &error_reason=user_denied
  &error_description=The+user+denied+your+request

Langkah 2: Tukarkan Kode dengan Token

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

Parameter Badan

Sertakan parameter berikut di badan permintaan POST Anda.

ParameterNilai ContohDeskripsi

client_id
Wajib
String numerik

990602627938098

ID Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar.

client_secret
Wajib
String

a1b2C3D4

Kunci Rahasia Aplikasi Instagram Anda ditampilkan di Dasbor Aplikasi > Produk > Instagram > Tampilan Dasar.

code
Wajib
String

AQBx-hBsH3...

Kode otorisasi yang kami teruskan kepada Anda di parameter code saat mengarahkan pengguna ke redirect_uri Anda.

grant_type
Wajib
String

authorization_code

Atur nilai ini ke authorization_code.

redirect_uri
Wajib
String

https://socialsizzle. heroku.com/auth/

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.

Contoh 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...

Contoh Tanggapan Berhasil

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.

Contoh Tanggapan Ditolak

Jika permintaan salah format, API akan mengembalikan kesalahan.

{
  "error_type": "OAuthException",
  "code": 400,
  "error_message": "Matching code was not found or was already used"
}