การใช้ REST เพื่อเรียก API

เอกสารนี้จะอธิบายวิธีใช้ Custom Search JSON API

การส่งคำขอ

REST หรือ Sentational State Transfer ใน Custom Search JSON API ค่อนข้างแตกต่างจาก REST แบบดั้งเดิม โดย API จะให้สิทธิ์เข้าถึงบริการแทนการให้สิทธิ์เข้าถึงทรัพยากร ดังนั้น API จึงมี URI รายการเดียวซึ่งทำหน้าที่เป็นปลายทางของบริการ

คุณสามารถดึงผลลัพธ์สำหรับการค้นหาบางอย่างได้โดยการส่ง HTTP GET ไปยัง URI ของตนเอง คุณได้ส่งรายละเอียดของคำขอค้นหาเป็น พารามิเตอร์การค้นหา รูปแบบสำหรับ URI ของ Custom Search JSON API คือ

https://www.googleapis.com/customsearch/v1?[parameters]

คำขอการค้นหาแต่ละรายการต้องมีคำค้นหา [parameters] จำนวน 3 รายการ ได้แก่

  • คีย์ API - ใช้พารามิเตอร์การค้นหา key เพื่อ ระบุแอปพลิเคชันของคุณ
  • Programmable Search Engine ID - ใช้ cx เพื่อระบุ Programmable Search Engine ที่ต้องการใช้ในการค้นหานี้ เครื่องมือค้นหาต้องสร้างโดยใช้แผงควบคุม หมายเหตุ: รหัสเครื่องมือค้นหา (cx) อาจมีรูปแบบอื่น (เช่น 8ac1ab64606d234f1)

  • คำค้นหา - ใช้พารามิเตอร์การค้นหา q เพื่อระบุนิพจน์การค้นหา

พารามิเตอร์การค้นหาอื่นๆ ทั้งหมดเป็นตัวเลือกที่ไม่บังคับ

นี่คือตัวอย่างของคำขอที่ค้นหา ทดสอบ Programmable Search Engine สำหรับการบรรยาย ดังนี้

GET https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

พารามิเตอร์การค้นหา

พารามิเตอร์ที่คุณส่งในคำขอได้มี 2 ประเภท ได้แก่

  • พารามิเตอร์เฉพาะ API - กำหนดพร็อพเพอร์ตี้ของการค้นหา เช่น นิพจน์การค้นหา จำนวนผลการค้นหา ภาษา เป็นต้น
  • พารามิเตอร์การค้นหาแบบมาตรฐาน - กำหนดข้อมูลด้านเทคนิคสำหรับคำขอของคุณ เช่น คีย์ API

ค่าพารามิเตอร์ทั้งหมดต้องเป็น URL ที่เข้ารหัส

พารามิเตอร์การค้นหาเฉพาะ API

ส่งคำขอพารามิเตอร์ที่ใช้กับ Custom Search JSON API โดยเฉพาะ และระบุ คำขอค้นหาจะสรุปไว้ใน การอ้างอิง

พารามิเตอร์การค้นหามาตรฐาน

พารามิเตอร์การค้นหาที่ใช้กับการดำเนินการ JSON API ของ Custom Search ทั้งหมดมีการบันทึกไว้ที่ พารามิเตอร์ระบบ

ข้อมูลการตอบกลับ

หากคำขอประสบความสำเร็จ เซิร์ฟเวอร์จะตอบสนองด้วยรหัสสถานะ HTTP 200 OK และข้อมูลการตอบสนองในรูปแบบ JSON คุณดูข้อมูลคำตอบได้ ในข้อมูลอ้างอิง

ข้อมูลการตอบสนองคือออบเจ็กต์ JSON ที่มีประเภท พร็อพเพอร์ตี้:

  • ข้อมูลเมตาที่อธิบายการค้นหาที่ขอ (และอาจรวมถึงคำขอการค้นหาที่เกี่ยวข้อง)
  • ข้อมูลเมตาที่อธิบาย Programmable Search Engine
  • ผลการค้นหา

สำหรับคำอธิบายโดยละเอียดของแต่ละพร็อพเพอร์ตี้ โปรดดู การอ้างอิง

ค้นหาข้อมูลเมตาของคำขอ

ข้อมูลเมตาของการค้นหาประกอบด้วย

  • พร็อพเพอร์ตี้ url ซึ่งมี ข้อมูลเกี่ยวกับเทมเพลต OpenSearch ซึ่งใช้สำหรับผลลัพธ์ที่แสดงในคำขอนี้
  • queries ซึ่งเป็นอาร์เรย์ของ ที่อธิบายลักษณะของการค้นหาที่เป็นไปได้ ชื่อของแต่ละ ในอาร์เรย์เป็นชื่อ บทบาทคำค้นหา OpenSearch หรือบทบาทที่กำหนดเอง 1 ใน 2 บทบาทที่กำหนดโดย API นี้ previousPage และ nextPage ออบเจ็กต์บทบาทในการค้นหาที่เป็นไปได้ รวมข้อมูลต่อไปนี้
    • request: ข้อมูลเมตาที่อธิบายการค้นหาสำหรับชุดปัจจุบันของ ผลลัพธ์
      • บทบาทนี้จะปรากฏในคำตอบเสมอ
      • ซึ่งจะเป็นอาร์เรย์ที่มีเพียงเอลิเมนต์เดียวเสมอ
      • nextPage: ข้อมูลเมตาที่อธิบายการค้นหาที่จะใช้ในอนาคต หน้าผลการค้นหา
        • บทบาทนี้จะไม่ปรากฏ หากผลลัพธ์ปัจจุบันเป็นหน้าสุดท้าย หมายเหตุ: API นี้แสดงผลลัพธ์สูงสุด 100 รายการแรกเท่านั้น
        • หากมี จะเป็นอาร์เรย์ที่มีเพียงอีลิเมนต์เดียวเสมอ
    • previousPage: ข้อมูลเมตาที่อธิบายการค้นหาที่จะใช้ หน้าผลลัพธ์ก่อนหน้า
      • ไม่แสดงหากผลลัพธ์ปัจจุบันคือหน้าแรก
      • หากมี จะเป็นอาร์เรย์ที่มีเพียงอีลิเมนต์เดียวเสมอ

ข้อมูลเมตาของเครื่องมือค้นหา

พร็อพเพอร์ตี้ context มีข้อมูลเมตาที่อธิบายเครื่องมือค้นหา ที่ดำเนินการค้นหา ซึ่งประกอบด้วยชื่อของเครื่องมือค้นหา และ ออบเจ็กต์ด้านประกอบทั้งหมดที่มีให้ การปรับแต่งการค้นหา

ผลการค้นหา

อาร์เรย์ items มีผลการค้นหาจริง การค้นหา จะมี URL, ชื่อ และตัวอย่างข้อความที่อธิบายผลการค้นหานั้น ใน อาจมีตัวอย่างข้อมูลสื่อสมบูรณ์ ในกรณีที่เกี่ยวข้อง

หากผลการค้นหามีพร็อพเพอร์ตี้ promotions จะมี ชุดโปรโมชัน

REST จาก JavaScript

คุณสามารถเรียกใช้ Custom Search JSON API โดยใช้ REST จาก JavaScript โดยใช้เมธอด พารามิเตอร์การค้นหา callback และฟังก์ชัน Callback ซึ่งช่วยให้คุณ เพื่อเขียนแอปพลิเคชันสื่อสมบูรณ์ที่แสดงข้อมูล Programmable Search Engine โดยไม่ต้องเขียน รหัสฝั่งเซิร์ฟเวอร์

ตัวอย่างต่อไปนี้ใช้วิธีนี้เพื่อแสดงหน้าแรกของการค้นหา ผลการค้นหาสำหรับข้อความค้นหา cars:

<html>
  <head>
    <title>Custom Search JSON API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // Make sure HTML in item.htmlTitle is escaped.
        document.getElementById("content").append(
          document.createElement("br"),
          document.createTextNode(item.htmlTitle)
        );
      }
    }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=cars&callback=hndlr">
    </script>
  </body>
</html>