พื้นที่เก็บข้อมูลนี้มีคำจำกัดความอินเทอร์เฟซดั้งเดิมของ Google API สาธารณะที่รองรับทั้งโปรโตคอล REST และ gRPC การอ่านคำจำกัดความอินเทอร์เฟซดั้งเดิมสามารถช่วยให้คุณเข้าใจ Google API ได้ดีขึ้น และช่วยให้คุณใช้งานได้อย่างมีประสิทธิภาพมากขึ้น คุณยังสามารถใช้คำจำกัดความเหล่านี้กับเครื่องมือโอเพ่นซอร์สเพื่อสร้างไลบรารีไคลเอ็นต์ เอกสารประกอบ และส่วนอื่นๆ
วิธีที่แนะนำในการสร้างไลบรารีไคลเอ็นต์ API คือผ่าน Bazel >= 4.2.2
ขั้นแรกให้ติดตั้งบาเซล
วิธีสร้างไลบรารีทั้งหมด:
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 จะถูกใช้งานเป็นบริการ API ที่โฮสต์ภายใต้ชื่อ DNS ที่แตกต่างกัน บริการ API หนึ่งรายการอาจใช้ API หลายรายการและ API เดียวกันหลายเวอร์ชัน
Google API ใช้ Protocol Buffers เวอร์ชัน 3 (proto3) เป็น Interface Definition Language (IDL) เพื่อกำหนดอินเทอร์เฟซ API และโครงสร้างของข้อความเพย์โหลด คำจำกัดความอินเทอร์เฟซเดียวกันใช้สำหรับ API ทั้งเวอร์ชัน REST และ RPC ซึ่งสามารถเข้าถึงได้ผ่านโปรโตคอลแบบสายที่แตกต่างกัน
มีหลายวิธีในการเข้าถึง Google API:
JSON ผ่าน HTTP: คุณสามารถเข้าถึง Google API ทั้งหมดได้โดยตรงโดยใช้ JSON ผ่าน HTTP โดยใช้ไลบรารีไคลเอ็นต์ Google API หรือไลบรารีไคลเอ็นต์ API บุคคลที่สาม
บัฟเฟอร์โปรโตคอลบน gRPC: คุณสามารถเข้าถึง Google API ที่เผยแพร่ในพื้นที่เก็บข้อมูลนี้ผ่าน GRPC ซึ่งเป็นโปรโตคอล RPC ไบนารีประสิทธิภาพสูงผ่าน HTTP/2 มีคุณสมบัติที่มีประโยชน์มากมาย รวมถึงคำขอ/ตอบกลับมัลติเพล็กซ์และการสตรีมฟูลดูเพล็กซ์
ไลบรารีไคลเอ็นต์ Google Cloud: คุณสามารถใช้ไลบรารีเหล่านี้เพื่อเข้าถึง Google Cloud API พวกเขาใช้ gRPC เพื่อประสิทธิภาพที่ดีขึ้น และมอบพื้นผิวไคลเอนต์ที่เป็นสำนวนเพื่อประสบการณ์นักพัฒนาที่ดีขึ้น
ที่เก็บนี้มีสำเนาคำจำกัดความของ Google API และไฟล์ที่เกี่ยวข้อง หากต้องการพูดคุยหรือแจ้งปัญหาเกี่ยวกับไลบรารีไคลเอ็นต์ Google API, GRPC หรือไลบรารีไคลเอ็นต์ Google Cloud โปรดดูที่ที่เก็บที่เกี่ยวข้องกับแต่ละพื้นที่
พื้นที่เก็บข้อมูลนี้ใช้ลำดับชั้นไดเรกทอรีที่สะท้อนถึงโครงสร้างผลิตภัณฑ์ Google API โดยทั่วไป แต่ละ API จะมีไดเร็กทอรีรากของตัวเอง และ API เวอร์ชันหลักแต่ละเวอร์ชันจะมีไดเร็กทอรีย่อยของตัวเอง ชื่อแพ็คเกจโปรโตตรงกับไดเร็กทอรีทุกประการ: ทำให้ง่ายต่อการค้นหาคำจำกัดความของโปรโตและทำให้แน่ใจว่าไลบรารีไคลเอนต์ที่สร้างขึ้นมีเนมสเปซที่เป็นสำนวนในภาษาการเขียนโปรแกรมส่วนใหญ่ นอกจากไดเร็กทอรี API ยังมีไฟล์การกำหนดค่าสำหรับชุดเครื่องมือ GAPIC
หมายเหตุ: API เวอร์ชันหลักใช้เพื่อระบุการเปลี่ยนแปลงที่เกิดขึ้นกับ API
หากต้องการสร้างซอร์สโค้ด gRPC สำหรับ Google API ในพื้นที่เก็บข้อมูลนี้ คุณต้องติดตั้งทั้ง Protocol Buffers และ gRPC บนเครื่องของคุณก่อน จากนั้นจึงเรียกใช้ make LANGUAGE=xxx all
เพื่อสร้างซอร์สโค้ดได้ คุณต้องรวมซอร์สโค้ดที่สร้างขึ้นเข้ากับระบบสร้างแอปพลิเคชันของคุณ
หมายเหตุ: Makefile มีวัตถุประสงค์เพื่อสร้างซอร์สโค้ดสำหรับที่เก็บทั้งหมดเท่านั้น ไม่ใช่สำหรับการสร้างไลบรารีไคลเอ็นต์ที่ลิงก์ได้สำหรับ API เฉพาะ โปรดดูที่เก็บข้อมูลอื่น ๆ ภายใต้ https://github.com/googleapis เพื่อสร้างไลบรารีไคลเอ็นต์ที่ลิงก์ได้
เป็นการยากที่จะสร้างซอร์สโค้ด Go gRPC จากที่เก็บนี้ เนื่องจาก Go มีโครงสร้างไดเร็กทอรีที่แตกต่างกัน โปรดใช้พื้นที่เก็บข้อมูลนี้แทน