此儲存庫包含支援 REST 和 gRPC 協定的公共 Google API 的原始介面定義。閱讀原始介面定義可以幫助您更好地理解 Google API,並幫助您更有效地使用它們。您也可以將這些定義與開源工具結合使用來產生客戶端程式庫、文件和其他工件。
建立 API 客戶端程式庫的建議方法是透過 Bazel >= 4.2.2。
首先,安裝bazel。
建置所有庫:
bazel build //...
測試所有函式庫:
bazel test //...
要建立所有語言的一個庫:
bazel build //google/example/library/v1/...
要為一個庫建立 Java 套件:
bazel build //google/example/library/v1:google-cloud-example-library-v1-java
Bazel 套件存在於 Java、Go、Python、Ruby、Node.js、PHP 和 C# 的所有函式庫中。
Google API 通常部署為託管在不同 DNS 名稱下的 API 服務。一項 API 服務可以實作多個 API 以及同一 API 的多個版本。
Google API 使用 Protocol Buffers 版本 3 (proto3) 作為介面定義語言 (IDL) 來定義 API 介面和有效負載訊息的結構。 REST 和 RPC 版本的 API 使用相同的介面定義,可以透過不同的有線協定進行存取。
存取 Google API 的方式有多種:
JSON over HTTP:您可以使用 JSON over HTTP、使用 Google API 用戶端程式庫或第三方 API 用戶端程式庫直接存取所有 Google API。
gRPC 上的 Protocol Buffers:您可以透過 GRPC 存取此儲存庫中發佈的 Google API,GRPC 是基於 HTTP/2 的高效能二進位 RPC 協定。它提供了許多有用的功能,包括請求/回應多路復用和全雙工流。
Google Cloud 用戶端程式庫:您可以使用這些函式庫來存取 Google Cloud API。它們基於 gRPC 以獲得更好的效能,並提供慣用的客戶端介面以獲得更好的開發人員體驗。
此儲存庫包含 Google API 定義和相關文件的副本。有關 Google API 用戶端程式庫、GRPC 或 Google Cloud 用戶端程式庫的討論或提出問題,請參閱與每個區域相關的儲存庫。
此儲存庫使用反映 Google API 產品結構的目錄層次結構。一般來說,每個API都有自己的根目錄,每個主要版本的API都有自己的子目錄。 proto 套件名稱與目錄完全匹配:這樣可以輕鬆找到 proto 定義,並確保產生的用戶端程式庫在大多數程式語言中具有慣用的命名空間。除了 API 目錄之外,還有 GAPIC 工具包的設定檔。
注意: API 的主要版本用於指示 API 的重大變更。
要在此儲存庫中產生 Google API 的 gRPC 原始程式碼,您首先需要在本機上安裝 Protocol Buffers 和 gRPC,然後可以執行make LANGUAGE=xxx all
來產生原始程式碼。您需要將生成的原始程式碼整合到您的應用程式建置系統中。
注意: Makefile 僅用於產生整個儲存庫的原始程式碼。它不適用於為特定 API 產生可連結的客戶端程式庫。請參閱 https://github.com/googleapis 下的其他儲存庫來產生可連結的客戶端庫。
由於 Go 具有不同的目錄結構,因此很難從該儲存庫產生 Go gRPC 原始碼。請改用此存儲庫。