Dengan menggunakan API Explorer Looker, pengguna dapat menguji panggilan API hampir secara instan tanpa harus menulis satu baris kode pun. Jika telah menginstal ekstensi API Explorer dari Looker Marketplace, Anda dapat mengklik API Explorer di menu Aplikasi Looker untuk membuka API Explorer dan melihat dokumentasi API saat ini. Jika belum menginstal ekstensi API Explorer, Anda dapat menginstalnya dari bagian Aplikasi di Marketplace Looker.
Mungkin dengan menggunakan API Explorer, Anda telah menemukan alur kerja terbaik untuk membuat Tampilan secara dinamis, memperbarui kueri yang mendasarinya, dan menjadwalkannya ke berbagai pemangku kepentingan di perusahaan Anda. Pertanyaan umum berikutnya adalah, bagaimana cara menjalankan panggilan atau fungsi ini di luar API Explorer? Ada tiga cara umum untuk mengakses API ini:
- Software development kit (SDK) API Looker
- Permintaan HTTP
- Alat pengembangan software
Halaman ini akan memandu Anda cara menggunakan metode ini.
Sebelum memulai: Autentikasi dan port
Terlepas dari cara Anda mengakses API Looker, Anda memerlukan dua informasi terlebih dahulu: autentikasi API pribadi Anda (dalam bentuk client ID dan secret klien) dan nomor port yang digunakan instance Looker Anda.
Untuk menemukan client ID dan rahasia klien:
- Jika Anda adalah admin Looker, buka halaman Pengguna di UI Looker untuk pengguna yang Anda minati, lalu buka Edit kunci.
- Jika bukan admin Looker, Anda akan menerima client ID dan secret klien dari admin Looker.
Untuk instance Looker yang dihosting di Google Cloud atau Microsoft Azure, dan untuk instance yang dihosting di Amazon Web Service (AWS) yang dibuat pada atau setelah 07/07/2020, jalur Looker API default menggunakan port 443. Untuk instance Looker yang dihosting di AWS yang dibuat sebelum 07/07/2020, jalur Looker API default menggunakan port 19999.
Jika Anda menghosting instance sendiri, hubungi admin sistem untuk mengetahui nomor port. URL ini dapat ditetapkan di kolom URL Host API pada panel admin Looker. Anda dapat melihatnya dengan membuka drop-down menu Admin di Looker dan memilih API.
Untuk informasi selengkapnya tentang port, buka halaman dokumentasi Memulai Looker API. Contoh berikut menggunakan port API 19999, tetapi Anda harus mengonfirmasi port yang digunakan oleh instance Anda.
Opsi 1: Menggunakan software development kit (SDK) Looker
Looker menawarkan SDK klien Looker API resmi dalam Python, Ruby, Typescript dan JavaScript, Swift, Kotlin, dan R. Anda dapat menemukan kode sumber dan contoh di repo GitHub sdk-examples
Looker.
SDK menyediakan alat atau library yang memungkinkan developer berinteraksi dengan platform atau aplikasi tertentu. Dalam hal ini, SDK Looker biasanya berisi API. Untuk meminjam contoh dari developer web dan penulis Kristopher Sandoval, "API adalah saluran telepon, yang memungkinkan komunikasi masuk dan keluar rumah. SDK adalah rumah itu sendiri dan semua kontennya." Ia menjelaskan apa itu SDK dan kaitannya dengan API dalam artikel yang bagus, Apa Perbedaan Antara API dan SDK?
SDK Looker menyimpan semua endpoint API yang dapat Anda inginkan atau perlu gunakan, dan dikemas dengan cara yang memungkinkan Anda berinteraksi dengan Looker dengan lancar menggunakan bahasa pemrograman pilihan Anda. Fungsi ini memungkinkan Anda melakukan tugas berikut:
- Mengirim data ke Looker
- Mendapatkan data dari Looker
- Memperbarui data di Looker
- Menghapus data di Looker
Berikut adalah contoh cara memperbarui pengguna dengan Python SDK:
-
Lakukan inisialisasi sesi dengan
looker_sdk.init
. -
Perbarui pengguna dengan
sdk.update_user
. Anda meneruskanuser_id
untuk menentukan pengguna yang ingin diperbarui. -
Gunakan
models.WriteUser
untuk menentukan cara Anda ingin memperbarui pengguna.
#### Initialize API/SDK for more info go here: https://pypi.org/project/looker-sdk from looker_sdk import methods40, models sdk = looker_sdk.init40() me = sdk.me() # print(me) new_friend = sdk.update_user(user_id=29, body=models.WriteUser(first_name="newnew", last_name="new_again")) print(new_friend)
Saat menggunakan salah satu SDK kami, jika Anda menggunakan IDE seperti Visual Studio Code dan mengklik perintah (F12 di setelan default Visual Studio Code), lalu memilih buka definisi, Anda dapat melihat semua metode dan semua parameter yang diterima atau ditampilkan oleh metode. Atau, Anda dapat melihatnya di repo GitHub SDK — cari metode dan file model.
Opsi 2: Permintaan HTTP dengan curl atau library permintaan
Bagaimana jika Anda tidak ingin menulis skrip atau menghabiskan waktu berbulan-bulan atau bertahun-tahun untuk mempelajari bahasa pemrograman baru? Dalam hal ini, Anda dapat menggunakan curl untuk membuat permintaan HTTP guna memanfaatkan API Looker.
Permintaan HTTP mengirimkan pesan ke tujuan, yang dapat berupa server, ponsel, atau bahkan smart TV Anda. Ada beberapa jenis permintaan HTTP. Cara Anda menggunakan permintaan ini dengan API Looker bergantung pada sifat metode yang Anda teruskan sebagai bagian dari panggilan API. Beberapa metode memberi Anda data, beberapa mengirim data ke Looker, beberapa memperbarui data, dan beberapa menghapus atau menghapus data dari Looker.
Tindakan | Metode |
Buat |
POST
|
Baca |
GET
|
Perbarui |
PUT
|
Hapus |
DELETE
|
Mari kita mulai melakukan curling. Untuk mengetahui latar belakangnya, Zendesk memiliki tutorial yang bagus, Menginstal dan menggunakan cURL.
Untuk mulai melakukan panggilan HTTP ke Looker API, hal pertama yang perlu Anda lakukan adalah memanggil endpoint login
Looker API menggunakan client ID dan secret klien Anda. Tindakan ini akan membuat token akses. Kemudian, Anda mengambil token akses ini dan meneruskannya dengan setiap panggilan. Token akses memastikan bahwa panggilan berasal dari pengguna yang diberi otorisasi.
Halaman ini menggunakan beberapa notasi untuk menunjukkan tempat Anda harus mengganti teks dalam contoh kode dengan informasi Anda. URL instance yang dihosting Looker memiliki formathttps://<hostname>.<subdomain>.<domain>.com
; jika Anda melihat notasi ini dalam contoh di halaman ini, ganti bagian<hostname>.<subdomain>.<domain>.com
dengan URL ke instance Looker Anda. Selain itu, kita menggunakan notasi<value>
untuk menunjukkan tempat Anda harus memasukkan nilai yang sesuai, yang menggantikan<value>
dalam contoh kode. Misalnya, dalam kode berikut, yang menampilkanclient_id=<value>&client_secret=<value>
, ganti<value>
pertama denganclient_id
dan<value>
kedua denganclient_secret
.
Berikut adalah curl untuk mendapatkan token akses:
curl -d "client_id=<value>&client_secret=<value>" https://<hostname>.<subdomain>.<domain>.com:19999/login
Berikut adalah responsnya:
{"access_token":"ABCDEFGHIJLMNOP1234","token_type":"Bearer","expires_in":3600}
Menerima token akan memberi tahu Anda bahwa Looker mengenali kredensial API Anda. Token ditampilkan dengan nilai expires_in
, yang menunjukkan berapa lama token berlaku. Biasanya sekitar 60 menit (3.600 detik).
Setelah memiliki token akses, Anda bebas melakukan panggilan apa pun yang diinginkan. Semua endpoint dicantumkan menurut versi API dalam dokumentasi referensi Looker API 4.0. Dan ingat, situs Komunitas Looker adalah referensi yang bagus untuk mengajukan pertanyaan kepada pengguna Looker lainnya tentang cara mereka memanfaatkan API, mempelajari praktik terbaik, atau berbagi kesuksesan yang Anda peroleh dengan API kepada pengguna lain.
Misalnya, Anda ingin membuat pengguna baru. Untuk melakukannya:
- Tulis permintaan
POST
curl yang meneruskan token Anda untuk memberi tahu Looker bahwa Anda diberi otorisasi. - Sertakan isi, dalam hal ini diformat sebagai JSON, untuk memberi tahu Looker atribut yang Anda inginkan untuk dimiliki pengguna baru. (Ada beberapa kolom wajib untuk panggilan API, jadi lihat dokumentasi referensi Looker API 4.0.)
- Akhiri notasi curl dengan endpoint yang ingin Anda gunakan, dalam hal ini,
users
.
curl -H "Authorization: token <value> " -H "Content-Type: application/json" -d "{\"first_name\": \"<value>\",\"last_name\": \"<value>\", \"email\":\"<value>\"}" https://<hostname>.<subdomain>.<domain>.com:19999/api/4.0/users
-H
adalah singkatan dari header, dan -d
adalah singkatan dari data. Untuk mengetahui informasi selengkapnya tentang perintah curl, buka gist GitHub ini.
Anda baru saja membuat pengguna dengan nama depan, nama belakang, dan alamat email yang memiliki nilai yang Anda masukkan sebelumnya.
Bagaimana jika Anda ingin menulisnya dalam skrip, sehingga Anda tidak perlu menulis perintah ini setiap kali ingin menyelesaikan alur kerja ini? Anda dapat menggunakan bahasa pemrograman dan library seperti library requests
Python.
Misalnya, berikut adalah skrip yang menggunakan library requests
untuk mendapatkan Tampilan menggunakan ID Tampilan (<value>
dalam panggilan looks
), menerapkan filter baru, lalu mendownload hasilnya sebagai file CSV:
import requests ID = '<value>' SECRET = '<value>' PARAMS = {'client_id':<value>, 'client_secret': <value>} URL = "https://<hostname>.<subdomain>.<domain>.com:19999/api/4.0/login" r = requests.post(url = <value>, params = <value>, verify=False) data = r.json() token = data['access_token'] print(token) headers = {'Authorization': "Bearer " + token} print(headers) look_url = "https://<hostname>.<subdomain>.<domain>.com:19999/api/4.0/looks/<value>" look = requests.get(look_url, headers=headers, verify=False) json = look.json() query = json['query'] ### ADD MODEL HERE ### ADD FILTER body = { "model":"<value>", "view":query['view'], "fields":query['fields'], "filters":{<value>} } print(body) run_inline = "https://<hostname>.<subdomain>.<domain>.com:19999/api/4.0/queries/run/csv" run_query = requests.post(run_inline, headers = headers, json=body, verify=False) print(run_query._content) print(run_query.url)
Opsi 3: Alat pengembangan software
Alat seperti Postman atau Paw memungkinkan pengguna berinteraksi atau memanfaatkan endpoint API melalui antarmuka pengguna grafis (GUI). Proses yang sama berlaku untuk alat pengembangan software seperti yang berlaku untuk permintaan HTTP. Langkah pertama adalah login dengan secret klien dan client ID Anda. Kemudian, simpan token akses sebagai token pembawa untuk memberikan otorisasi pada panggilan API berikutnya, seperti yang ditampilkan di sini di Postman.
Postman atau alat pengembangan software lainnya (seperti Paw) memungkinkan Anda menentukan otorisasi, isi, parameter, dan header semuanya dalam UI-nya, lalu membuat permintaan untuk Anda. Fungsi ini juga akan mengeksekusi endpoint saat Anda menekan kirim.
Lanjutkan! (Tapi hati-hati)
Setelah Anda dapat menggunakan API Looker melalui SDK, permintaan HTTP, dan alat pengembangan software, lanjutkan dan uji semuanya. Namun, perlu diketahui bahwa, meskipun penggunaan API dapat membantu mengotomatiskan proses seperti membuat atau menetapkan ulang jadwal setelah pengguna keluar dari perusahaan Anda, penggunaan API yang tidak tepat dapat menyebabkan kerusakan pada instance.
Beberapa hal umum yang perlu diingat:
- Berhati-hatilah saat mengedit izin atau menghapus pengguna, terutama secara massal. Anda dapat menghapus atau mengunci banyak pengguna, termasuk admin, dan tindakan seperti ini tidak dapat dibatalkan dengan mudah.
- Panggilan API meningkatkan penggunaan instance, jadi coba jadwalkan panggilan tersebut untuk jam non-puncak guna mendapatkan performa yang optimal.
- Ada batas file terbuka di setiap server instance, sehingga instance dapat mengalami error melalui penggunaan API yang tidak bertanggung jawab.
- Uji alur kerja dan fungsi dalam skala kecil sebelum menambahkannya ke produksi.
- Jangan pernah membagikan kredensial API Anda atau membiarkannya dalam file yang dapat diakses oleh pengguna lain.
Jika Anda memiliki pertanyaan atau ingin membagikan ide keren, lihat Komunitas Looker. Jangan ragu untuk memberi tahu kami jika ada hal yang dapat kami tingkatkan atau jika ada contoh lain yang ingin Anda tambahkan ke dokumentasi kami.