Dengan 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 Looker Marketplace.
Mungkin dengan menggunakan API Explorer, Anda telah menemukan alur kerja terbaik untuk membuat Look secara dinamis, memperbarui kueri pokok, dan menjadwalkannya untuk 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:
- Software development kit (SDK) API Looker
- Permintaan HTTP
- Alat pengembangan software
Halaman ini akan memandu Anda cara menggunakan metode tersebut.
Sebelum Anda memulai: Autentikasi dan port
Terlepas dari cara Anda mengakses API Looker, Anda harus terlebih dahulu memiliki dua informasi: autentikasi API pribadi Anda (dalam bentuk ID klien dan rahasia klien) serta 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 Anda bukan admin Looker, Anda akan menerima client ID dan rahasia klien dari admin Looker Anda.
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, tanyakan nomor port kepada admin sistem Anda. URL ini dapat ditetapkan di kolom URL Host API di panel admin Looker. Anda dapat melihatnya dengan membuka drop-down menu Admin di Looker dan memilih API.
Untuk mengetahui informasi selengkapnya tentang port, buka halaman dokumentasi Memulai penggunaan 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 repositori GitHub sdk-examples
Looker.
SDK menyediakan alat atau library yang memungkinkan developer berinteraksi dengan platform atau aplikasi tertentu. Dalam hal ini, SDK Looker umumnya berisi API. Untuk meminjam contoh dari developer web dan penulis Kristopher Sandoval, "API adalah saluran telepon, yang memungkinkan komunikasi di dalam dan di luar rumah. SDK adalah rumah itu sendiri dan semua isinya." Dia menjelaskan apa itu SDK dan hubungannya dengan API dalam artikel yang sangat bagus, What Is the Difference Between an API and an SDK?
SDK Looker menyimpan semua endpoint API yang dapat Anda gunakan, dan dikemas dengan cara yang memungkinkan Anda berinteraksi dengan Looker secara 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 contoh cara mengupdate pengguna dengan Python SDK:
-
Inisialisasi sesi dengan
looker_sdk.init
. -
Perbarui pengguna dengan
sdk.update_user
. Anda meneruskanuser_id
untuk menentukan pengguna mana yang ingin Anda perbarui. -
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 dalam setelan default Visual Studio Code), lalu memilih go to definitions, 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
|
Memperbarui |
PUT
|
Hapus |
DELETE
|
Mari kita mulai curling. Sebagai informasi tambahan, 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 ID klien 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 bentukhttps://<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, menggantikan<value>
dalam contoh kode. Misalnya, dalam kode berikut, di mana kode tersebut 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 responsnya:
{"access_token":"ABCDEFGHIJLMNOP1234","token_type":"Bearer","expires_in":3600}
Menerima token memberi tahu Anda bahwa Looker mengenali kredensial API Anda. Token ditampilkan dengan nilai expires_in
, yang menunjukkan berapa lama token berlaku. Durasinya sering kali sekitar 60 menit (3.600 detik).
Setelah memiliki token akses, Anda siap melakukan panggilan. Semua endpoint dicantumkan menurut versi API dalam dokumentasi referensi Looker API 4.0. Selain itu, situs Komunitas Looker adalah sumber daya yang sangat berguna untuk mengajukan pertanyaan kepada pengguna Looker lainnya tentang cara mereka memanfaatkan API, untuk mempelajari praktik terbaik, atau untuk membagikan kesuksesan yang telah Anda raih dengan API kepada pengguna lain.
Misalkan Anda ingin membuat pengguna baru. Untuk melakukannya:
- Tulis permintaan curl
POST
yang meneruskan token Anda untuk memberi tahu Looker bahwa Anda telah diberi otorisasi. - Sertakan isi, dalam hal ini diformat sebagai JSON, untuk memberi tahu Looker atribut yang Anda inginkan untuk pengguna baru. (Ada beberapa kolom wajib diisi 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 header, dan -d
adalah 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 Anda 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 rahasia klien dan ID klien Anda. Kemudian, simpan token akses sebagai token pembawa untuk mengizinkan panggilan API berikutnya, seperti yang ditunjukkan 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. Endpoint juga akan dieksekusi saat Anda menekan kirim.
Maju! (Namun, berhati-hatilah)
Sekarang 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. Banyak pengguna, termasuk admin, dapat dihapus atau dikunci, dan tindakan seperti ini tidak dapat dibatalkan dengan mudah.
- Panggilan API meningkatkan penggunaan instance, jadi coba jadwalkan panggilan API di luar jam kerja untuk performa yang optimal.
- Ada batas file terbuka di setiap server instance, sehingga instance dapat mengalami error karena 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 menyimpannya dalam file yang dapat diakses oleh pengguna lain.
Jika ada pertanyaan atau ingin membagikan ide menarik, 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.