Repositori ini berisi definisi antarmuka asli Google API publik yang mendukung protokol REST dan gRPC. Membaca definisi antarmuka asli dapat memberikan pemahaman yang lebih baik tentang Google API dan membantu Anda menggunakannya dengan lebih efisien. Anda juga dapat menggunakan definisi ini dengan alat sumber terbuka untuk menghasilkan perpustakaan klien, dokumentasi, dan artefak lainnya.
Cara yang disarankan untuk membangun perpustakaan klien API adalah melalui Bazel >= 4.2.2.
Pertama, instal bazel.
Untuk membangun semua perpustakaan:
bazel build //...
Untuk menguji semua perpustakaan:
bazel test //...
Untuk membangun satu perpustakaan dalam semua bahasa:
bazel build //google/example/library/v1/...
Untuk membangun paket Java untuk satu perpustakaan:
bazel build //google/example/library/v1:google-cloud-example-library-v1-java
Paket Bazel ada di semua perpustakaan untuk Java, Go, Python, Ruby, Node.js, PHP dan C#.
Google API biasanya diterapkan sebagai layanan API yang dihosting dengan nama DNS berbeda. Satu layanan API dapat mengimplementasikan beberapa API dan beberapa versi dari API yang sama.
Google API menggunakan Protocol Buffer versi 3 (proto3) sebagai Interface Definition Language (IDL) untuk menentukan antarmuka API dan struktur pesan payload. Definisi antarmuka yang sama digunakan untuk API versi REST dan RPC, yang dapat diakses melalui protokol kabel yang berbeda.
Ada beberapa cara mengakses Google API:
JSON melalui HTTP: Anda dapat mengakses semua Google API secara langsung menggunakan JSON melalui HTTP, menggunakan pustaka klien Google API atau pustaka klien API pihak ketiga.
Buffer Protokol melalui gRPC: Anda dapat mengakses Google API yang dipublikasikan di repositori ini melalui GRPC, yang merupakan protokol RPC biner berperforma tinggi melalui HTTP/2. Ia menawarkan banyak fitur berguna, termasuk multipleks permintaan/respons dan streaming dupleks penuh.
Perpustakaan Klien Google Cloud: Anda dapat menggunakan perpustakaan ini untuk mengakses API Google Cloud. Mereka didasarkan pada gRPC untuk kinerja yang lebih baik dan memberikan permukaan klien idiomatis untuk pengalaman pengembang yang lebih baik.
Repo ini berisi salinan definisi Google API dan file terkait. Untuk berdiskusi atau menyampaikan masalah tentang pustaka klien Google API, GRPC, atau Pustaka Klien Google Cloud, silakan merujuk ke repo yang terkait dengan masing-masing area.
Repositori ini menggunakan hierarki direktori yang mencerminkan struktur produk Google API. Secara umum, setiap API memiliki direktori root sendiri, dan setiap versi utama API memiliki subdirektori sendiri. Nama paket proto sama persis dengan direktori: ini memudahkan untuk menemukan definisi proto dan memastikan bahwa perpustakaan klien yang dihasilkan memiliki ruang nama idiomatik di sebagian besar bahasa pemrograman. Di samping direktori API terdapat file konfigurasi untuk perangkat GAPIC.
CATATAN: Versi utama API digunakan untuk menunjukkan perubahan yang dapat menyebabkan gangguan pada API.
Untuk menghasilkan kode sumber gRPC untuk Google API di repositori ini, pertama-tama Anda harus menginstal Protocol Buffer dan gRPC di mesin lokal Anda, lalu Anda dapat menjalankan make LANGUAGE=xxx all
untuk menghasilkan kode sumber. Anda perlu mengintegrasikan kode sumber yang dihasilkan ke dalam sistem pembangunan aplikasi Anda.
CATATAN: Makefile hanya dimaksudkan untuk menghasilkan kode sumber untuk seluruh repositori. Ini bukan untuk menghasilkan perpustakaan klien yang dapat ditautkan untuk API tertentu. Silakan lihat repositori lain di https://github.com/googleapis untuk menghasilkan perpustakaan klien yang dapat ditautkan.
Sulit untuk membuat kode sumber Go gRPC dari repositori ini, karena Go memiliki struktur direktori yang berbeda. Silakan gunakan repositori ini sebagai gantinya.