Cara menggunakan python simple rest api

Mengenal aplikasi postman udah menguji API yang kita buat selama tutorial ini dan basic dari Resource

  • Menyiapkan model

    Mempersiapkan database dan model dari API dengan flask

  • Database ke api

    Menampikan data-data dari database ke API dengan flask

  • Menggunakan blueprint

    Apa itu bluperint pada flask? dengan ini kita bisa membuat proyek jadi lebih rapi dan terstruktur

  • Reqparse dan post data

    Menerima request dari user dengan reqparse, bagaimana cara mengirim data dari postman ke API yang kita buat

  • Marshal dan marshal with

    Membuat format data json yang kita tampikan sebagai respon dengan mudah, dengan menggunakan marshal dan marshal with di flask

    pada kelas kali ini kita akan membuat rest api menggunakan python. disini kita akan menggunakan framework flask. selain itu, kita juga akan menggunakan library sqlalchemy sebagai ORM dan marshmallow sebagai object serializationnya. kita akan menggunakan database sqlite, biar sederhana. namun kalau ingin dikembangkan ke mysql atau postgres bisa juga kog.

    untuk mengikuti kelas kali ini, pastikan komputer sudah terinstall python 3.7 ke atas dan pip python package manager versi 3, pip3. jangan lupa install juga postman atau insomnia sebagai gui untuk mencoba rest api

    langkah pertama, kita install dulu dependensi yang akan dipakai pada rest api ini. yaitu pip3 install flask, flask sqlalchemy, flask marshmallow, dan sqlalchemy marshmallow.

    Tutorial ini akan memperkenalkan Anda kepada API web dan mengajari Anda cara menggunakan perpustakaan Python untuk mengambil dan memperbarui informasi di API web. Anda juga akan belajar bagaimana berinteraksi dengan Twitter API sebagai contoh yang bekerja.

    Pengantar API Web

    API (Application Programming Interface) adalah kerangka kerja untuk membangun layanan HTTP yang dapat dikonsumsi oleh berbagai klien. API Web menggunakan protokol HTTP untuk menangani permintaan antara klien dan server web.

    Beberapa API yang paling umum yang memungkinkan pengembang untuk mengintegrasikan dan menggunakan infrastruktur mereka termasuk:

    1. API Google
    2. API Twitter
    3. API Amazon
    4. API Facebook

    Salah satu alasan paling penting untuk menggunakan API dibandingkan dengan sumber data statis lainnya adalah karena ini waktu nyata. Sebagai contoh, API Twitter yang akan kita gunakan akan mengambil data waktu-nyata dari jejaring sosial.

    Keuntungan lainnya adalah bahwa data terus berubah, jadi jika Anda mengunduhnya secara berkala, itu akan memakan waktu.

    Menggunakan Perpustakaan Requests

    Untuk menggunakan API, Anda harus menginstal perpustakaan requests Python. Requests adalah perpustakaan HTTP di Python yang memungkinkan Anda mengirim permintaan HTTP dengan Python.

    Menginstal Requests

    Di terminal Anda, ketik:

    1
    pip install requests
    

    Untuk memeriksa apakah penginstalan telah berhasil, berikan perintah berikut di interpreter Python Anda atau terminal:

    1
    import requests
    

    Jika tidak ada kesalahan, instalasinya berhasil.

    Bagaimana Mendapatkan Informasi dari Web API

    Metode GET digunakan untuk mendapatkan informasi dari server web. Mari kita lihat cara membuat permintaan GET untuk mendapatkan timeline umum GitHub.

    Kita menggunakan variabel

    1
    12 untuk menyimpan respons dari permintaan kita.

    1
    import requests
    
    2
    req = requests.get('https://github.com/timeline.json')
    

    Sekarang setelah kita membuat permintaan ke timeline GitHub, mari kita mendapatkan encoding dan konten yang terkandung dalam respons.

    1
    import requests
    
    2
    req = requests.get('https://github.com/timeline.json')
    
    pip install requests
    
    2
    pip install requests
    
    3
    pip install requests
    
    4
    pip install requests
    
    5

    1
    import requests
    
    2
    pip install requests
    
    9
    pip install requests
    
    2
    1
    1
    pip install requests
    
    4
    1
    3

    Requests memiliki dekode JSON bawaan yang dapat Anda gunakan untuk mendapatkan respons permintaan dalam format JSON.

    1
    import requests
    
    2
    1
    7
    pip install requests
    
    2
    req = requests.get('https://github.com/timeline.json')
    
    pip install requests
    
    4
    import requests
    
    1
    import requests
    
    2
    import requests
    
    3

    Cara Membuat dan Memperbarui Informasi di Web API

    Metode POST dan PUT keduanya digunakan untuk membuat dan memperbarui data. Meskipun ada kesamaan, penting untuk dicatat bahwa menggunakan permintaan POST untuk memperbarui data akan menghasilkan dua entri di penyimpanan data jika dua item yang identik dikirimkan.

    Membuat data (permintaan POST):

    1
    import requests
    
    5

    Memperbarui data (permintaan PUT):

    1
    import requests
    
    7

    Bekerja dengan API REST Twitter

    Di bagian ini, Anda akan belajar cara mendapatkan kredensial API Twitter, mengotentikasi ke API Twitter, dan berinteraksi dengan API Twitter menggunakan Python.

    Anda juga akan dapat mengambil informasi dari akun Twitter publik, seperti tweet, pengikut, dll.

    Otentikasi dengan Twitter

    Kita perlu mengotentikasi dengan API Twitter sebelum kita dapat berinteraksi dengannya. Untuk melakukan ini, ikuti langkah-langkah berikut:

    1. Buka halaman Aplikasi Twitter.
    2. Klik pada Create New App (Anda harus login ke Twitter untuk mengakses halaman ini). Jika Anda tidak memiliki akun Twitter, buat sebuah akun.
    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api

    3. Buat nama dan deskripsi untuk aplikasi Anda dan placeholder situs web.

    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api

    4. Cari Tab Keys and Access Tokens dan buat token akses Anda.

    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api
    Cara menggunakan python simple rest api

    5. Anda perlu memperhatikan secret

    1
    13 dan
    1
    14 karena Anda akan membutuhkannya untuk proses otentikasi.

    6. Anda juga perlu memperhatikan

    1
    15 and
    1
    16.

    Ada beberapa perpustakaan yang bisa kita gunakan untuk mengakses API Twitter, tetapi kita akan menggunakan perpustakaan python-twitter dalam tutorial ini.

    Menginstal python-twitter

    Untuk menginstal python-twitter, gunakan:

    1
    import requests
    
    9

    API Twitter diekspos melalui kelas

    1
    17, jadi mari membuat kelas dengan meneruskan token dan kunci secret kita:

    1
    1
    1
    2
    1
    3
    pip install requests
    
    2
    1
    5
    pip install requests
    
    4
    1
    7
    import requests
    
    2
    1
    9

    Ganti kredensial Anda di atas dan pastikan mereka diapit tanda kutip, yaitu consumer_key='xxxxxxxxxx', ...)

    Meminta pada Twitter

    Ada banyak metode berinteraksi dengan API Twitter, termasuk:

    1
    import requests
    
    1
    2
    import requests
    
    3
    pip install requests
    
    2
    import requests
    
    5
    pip install requests
    
    4
    import requests
    
    7
    import requests
    
    2
    import requests
    
    9
    2
    0
    2
    1
    2
    2
    2
    3
    2
    4
    2
    5
    2
    6
    2
    7
    2
    8
    2
    9

    Untuk mendapatkan data dari Twitter, kita akan membuat panggilan API dengan bantuan objek

    1
    18 yang kita buat di atas.

    Kita akan melakukan hal berikut:

    1. Buat variabel
      1
      19 dan tetapkan sama dengan handle Twitter yang valid (nama pengguna).
    2. Panggil metode

      1
      20 pada objek
      1
      18 dan berikan argumen berikut.

    • handle Twitter yang valid
    • jumlah tweet yang ingin Anda ambil (
      1
      22)
    • flag untuk mengecualikan retweets (ini dilakukan menggunakan
      1
      23)

    Mari dapatkan tweet terbaru dari timeline Envato Tuts+ Code, tidak termasuk retweet.

    1
    req = requests.get('https://github.com/timeline.json')
    
    1
    2
    req = requests.get('https://github.com/timeline.json')
    
    3
    pip install requests
    
    2
    req = requests.get('https://github.com/timeline.json')
    
    5
    pip install requests
    
    4
    import requests
    
    2
    req = requests.get('https://github.com/timeline.json')
    
    8
    2
    0
    1
    0
    2
    2
    1
    2
    2
    4
    1
    4
    2
    6
    1
    6

    Metode

    1
    20 akan mengembalikan daftar dari 30 tweet terbaru, jadi kita mengulang melalui daftarnya dan mencetak informasi yang paling penting (konten) dari setiap tweet.

    1
    1
    8
    2
    import requests
    
    0
    pip install requests
    
    2
    import requests
    
    2
    pip install requests
    
    4
    import requests
    
    4
    import requests
    
    2
    import requests
    
    6
    2
    0
    import requests
    
    8
    2
    2
    pip install requests
    
    00
    2
    4
    pip install requests
    
    02
    2
    6
    pip install requests
    
    04
    2
    8
    pip install requests
    
    06
    pip install requests
    
    07
    pip install requests
    
    08
    pip install requests
    
    09
    pip install requests
    
    10
    pip install requests
    
    11
    pip install requests
    
    12
    pip install requests
    
    13
    pip install requests
    
    14
    pip install requests
    
    15
    pip install requests
    
    16
    pip install requests
    
    17
    pip install requests
    
    18
    pip install requests
    
    19
    pip install requests
    
    20
    pip install requests
    
    21
    pip install requests
    
    22
    pip install requests
    
    23
    pip install requests
    
    24
    pip install requests
    
    25
    pip install requests
    
    26
    pip install requests
    
    27
    pip install requests
    
    28
    pip install requests
    
    29
    pip install requests
    
    30
    pip install requests
    
    31
    pip install requests
    
    32
    pip install requests
    
    33
    pip install requests
    
    34
    pip install requests
    
    35
    pip install requests
    
    36
    pip install requests
    
    37
    pip install requests
    
    38
    pip install requests
    
    39
    pip install requests
    
    40
    pip install requests
    
    41
    pip install requests
    
    42
    pip install requests
    
    43
    pip install requests
    
    44
    pip install requests
    
    45
    pip install requests
    
    46

    Untuk mengambil follower, kita menggunakan metode

    1
    25.

    1
    req = requests.get('https://github.com/timeline.json')
    
    1
    2
    pip install requests
    
    50
    pip install requests
    
    2
    pip install requests
    
    52
    pip install requests
    
    4
    pip install requests
    
    54
    import requests
    
    2
    2
    0
    req = requests.get('https://github.com/timeline.json')
    
    8
    2
    2
    pip install requests
    
    59
    2
    4
    pip install requests
    
    61
    2
    6
    pip install requests
    
    63

    Keluaran

    1
    pip install requests
    
    65
    2
    pip install requests
    
    67
    pip install requests
    
    2
    pip install requests
    
    69
    pip install requests
    
    4
    pip install requests
    
    71
    import requests
    
    2
    pip install requests
    
    73
    2
    0
    pip install requests
    
    75
    2
    2
    pip install requests
    
    77
    2
    4
    pip install requests
    
    79
    2
    6
    pip install requests
    
    81
    2
    8
    pip install requests
    
    83
    pip install requests
    
    07
    pip install requests
    
    85
    pip install requests
    
    09
    pip install requests
    
    87
    pip install requests
    
    11
    pip install requests
    
    89
    pip install requests
    
    13
    pip install requests
    
    91
    pip install requests
    
    15
    pip install requests
    
    93
    pip install requests
    
    17
    pip install requests
    
    95
    pip install requests
    
    19
    pip install requests
    
    97
    pip install requests
    
    21
    pip install requests
    
    99
    pip install requests
    
    23
    1
    01
    pip install requests
    
    25
    1
    03
    pip install requests
    
    27
    1
    05
    pip install requests
    
    29
    1
    07
    pip install requests
    
    31
    1
    09
    pip install requests
    
    33
    1
    11

    Bagaimana cara kerja REST API?

    Cara Kerja RESTful API RESTful API bekerja dengan cara memanipulasi resource dan representasi. Representasi ini saling dipertukarkan di antara pengguna dan server melalui antarmuka terstandar dan protokol komunikasi tertentu, biasanya HTTP.

    Apa itu REST API dan fungsinya?

    API RESTful adalah antarmuka yang digunakan oleh dua sistem komputer untuk bertukar informasi secara aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas.

    Apa bedanya rest API dengan API?

    Apa perbedaan API dengan REST API? - Quora. Sederhananya, API adalah sebuah penghubung antara aplikasi yang kita buat dengan aplikasi yang lain. Tujuannya adalah untuk saling berbagi data anatar aplikasi tersebut. Sedangkan REST itu adalah salah satu dari desain arsitektur di dalam API.

    REST API berjalan pada protokol apa?

    Karena REST API menggunakan protokol HTTP, maka kita dapat memanfaatkan HTTP verbs (kata kerja) untuk menentukan aksi. Contohnya GET untuk mendapatkan data, POST untuk mengirimkan data baru, PUT untuk memperbarui data yang ada, dan DELETE untuk menghapus data.