การใช้ API

เนื้อหา

  1. ข้อมูลเบื้องต้น
    1. การตรวจสอบสิทธิ์และการให้สิทธิ์
    2. รหัส Google Books
    3. การตั้งค่าตำแหน่งของผู้ใช้
  2. การทำงานกับวอลุ่ม
    1. การค้นหา
    2. การเรียกข้อมูลระดับเสียงที่เฉพาะเจาะจง
  3. การทํางานกับชั้นวางหนังสือ
    1. การเรียกข้อมูลรายการชั้นวางหนังสือสาธารณะของผู้ใช้
    2. การเรียกข้อมูลชั้นวางหนังสือสาธารณะที่เฉพาะเจาะจง
    3. การเรียกข้อมูลรายการเล่มในชั้นวางหนังสือสาธารณะ
  4. การทํางานกับชั้นวางหนังสือใน "คลังหนังสือของฉัน"
    1. การดึงข้อมูลรายการชั้นวางหนังสือของฉัน
    2. ดึงข้อมูลรายการหนังสือในชั้นวาง
    3. การเพิ่มเล่มลงในชั้นวางหนังสือ
    4. การนำหนังสือออกจากชั้นวาง
    5. การล้างหนังสือทั้งหมดออกจากชั้นวางหนังสือ
  5. การอ้างอิงพารามิเตอร์การค้นหา
    1. พารามิเตอร์การค้นหามาตรฐาน
    2. พารามิเตอร์การค้นหาเฉพาะ API

บทนำ

เอกสารนี้มีไว้สำหรับนักพัฒนาแอปที่ต้องการเขียนแอปพลิเคชันที่โต้ตอบกับ Books API ได้ Google Books มีพันธกิจในการทำให้เนื้อหาหนังสือทั่วโลกเป็นรูปแบบดิจิทัลและทำให้ค้นพบเนื้อหาเหล่านั้นบนเว็บได้ง่ายขึ้น Books API เป็นวิธีค้นหาและเข้าถึงเนื้อหาดังกล่าว รวมถึงสร้างและดูเนื้อหาที่ปรับเปลี่ยนในแบบของคุณ

หากคุณไม่คุ้นเคยกับแนวคิดของ Google Books คุณควรอ่านการเริ่มต้นใช้งานก่อนเริ่มเขียนโค้ด

การให้สิทธิ์คำขอและการระบุแอปพลิเคชัน

ทุกคำขอที่แอปพลิเคชันส่งไปยัง Books API จะต้องระบุแอปพลิเคชันของคุณให้ Google ทราบ คุณสามารถระบุแอปพลิเคชันได้ด้วย 2 วิธี ได้แก่ การใช้โทเค็น OAuth 2.0 (ซึ่งให้สิทธิ์คําขอด้วย) และ/หรือการใช้คีย์ API ของแอปพลิเคชัน วิธีระบุว่าควรใช้ตัวเลือกใดมีดังนี้

  • หากคำขอต้องมีการให้สิทธิ์ (เช่น คำขอข้อมูลส่วนตัวของบุคคล) แอปพลิเคชันต้องระบุโทเค็น OAuth 2.0 มาพร้อมกับคำขอ แอปพลิเคชันอาจระบุคีย์ API ด้วย แต่ไม่จำเป็นต้องระบุ
  • หากคำขอไม่จำเป็นต้องมีการให้สิทธิ์ (เช่น คำขอข้อมูลสาธารณะ) แอปพลิเคชันต้องระบุคีย์ API หรือโทเค็น OAuth 2.0 หรือทั้ง 2 อย่าง ขึ้นอยู่กับความสะดวกของคุณ

เกี่ยวกับโปรโตคอลการให้สิทธิ์

แอปพลิเคชันต้องใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ ระบบไม่รองรับโปรโตคอลการให้สิทธิ์อื่นๆ หากแอปพลิเคชันใช้ลงชื่อเข้าใช้ด้วย Google ระบบจะจัดการการให้สิทธิ์บางส่วนแก่คุณ

การให้สิทธิ์คำขอด้วย OAuth 2.0

คำขอข้อมูลผู้ใช้ที่ไม่ใช่แบบสาธารณะใน Books API จะต้องได้รับสิทธิ์จากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" ของ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้

  1. เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
  2. เปิดใช้งาน Books API ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
  3. เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
  4. Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
  5. หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
  6. แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
  7. หาก Google ตัดสินว่าคำขอและโทเค็นของคุณถูกต้อง ระบบจะแสดงข้อมูลที่ขอ

บางกระบวนการจะมีขั้นตอนเพิ่มเติม เช่น การใช้โทเค็นการรีเฟรชเพื่อขอโทเค็นเพื่อการเข้าถึงใหม่ ดูข้อมูลอย่างละเอียดเกี่ยวกับกระบวนการของแอปพลิเคชันประเภทต่างๆ ได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0 ของ Google

ข้อมูลขอบเขตของ OAuth 2.0 สำหรับ Books API มีดังต่อไปนี้

https://www.googleapis.com/auth/books

หากต้องการขอสิทธิ์โดยใช้ OAuth 2.0 แอปพลิเคชันของคุณต้องมีข้อมูลขอบเขต รวมถึงข้อมูลที่ Google ให้คุณตอนลงทะเบียนแอปพลิเคชัน (เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์)

เคล็ดลับ: ไลบรารีของไคลเอ็นต์ Google APIs จัดการขั้นตอนการให้สิทธิ์บางส่วนให้คุณได้ ไลบรารีเหล่านี้พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ โปรดดูรายละเอียดเพิ่มเติมที่หน้าที่มีไลบรารีและตัวอย่าง

การรับและใช้คีย์ API

คำขอข้อมูลสาธารณะจาก Books API ต้องมีตัวระบุ ซึ่งอาจเป็นคีย์ API หรือโทเค็นการเข้าถึง

วิธีรับคีย์ API

  1. เปิดหน้าข้อมูลเข้าสู่ระบบใน API Console
  2. API นี้รองรับข้อมูลเข้าสู่ระบบ 2 ประเภท สร้างข้อมูลเข้าสู่ระบบที่เหมาะสมกับโปรเจ็กต์ของคุณ ดังนี้
    • OAuth 2.0: เมื่อใดก็ตามที่แอปพลิเคชันขอข้อมูลส่วนตัวของผู้ใช้ แอปพลิเคชันจะต้องส่งโทเค็น OAuth 2.0 ไปพร้อมกับคำขอ แอปพลิเคชันจะส่งรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ (หากมี) เพื่อรับโทเค็นก่อน คุณสามารถสร้างข้อมูลเข้าสู่ระบบ OAuth 2.0 สำหรับเว็บแอปพลิเคชัน บัญชีบริการ หรือแอปพลิเคชันที่ติดตั้ง

      ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0

    • คีย์ API: คําขอที่ไม่ได้ระบุโทเค็น OAuth 2.0 ต้องส่งคีย์ API คีย์จะระบุโปรเจ็กต์ของคุณ รวมถึงให้สิทธิ์เข้าถึง API, โควต้า และรายงาน

      API รองรับการจํากัดคีย์ API หลายประเภท หากยังไม่มีคีย์ API ที่ต้องการ ให้สร้างคีย์ API ในคอนโซลโดยคลิกสร้างข้อมูลเข้าสู่ระบบ  > คีย์ API คุณสามารถจํากัดคีย์ก่อนนำไปใช้ในเวอร์ชันที่ใช้งานจริงได้โดยคลิกจํากัดคีย์ แล้วเลือกข้อจํากัดข้อใดข้อหนึ่ง

โปรดทำตามแนวทางปฏิบัติแนะนำสำหรับการใช้คีย์ API อย่างปลอดภัยเพื่อรักษาคีย์ API ให้ปลอดภัย

หลังจากมีคีย์ API แล้ว แอปพลิเคชันจะเพิ่มพารามิเตอร์การค้นหา key=yourAPIKey ต่อท้าย URL คำขอทั้งหมดได้

คีย์ API ปลอดภัยสำหรับการฝังใน URL โดยไม่จำเป็นต้องเข้ารหัส

รหัส Google Books

คุณต้องระบุช่องรหัสที่มีการเรียกเมธอด API บางรายการ รหัสที่ใช้ภายใน Google Books มี 3 ประเภท ได้แก่

  • รหัสเล่ม - สตริงที่ไม่ซ้ำกันที่กำหนดให้กับแต่ละเล่มที่ Google Books รู้จัก ตัวอย่างรหัสปริมาณคือ _LettPDhwR0C คุณสามารถใช้ API เพื่อรับรหัสเล่มได้โดยส่งคำขอที่แสดงผลทรัพยากรเล่ม ซึ่งคุณจะเห็นรหัสเล่มในช่อง id
  • รหัสชั้นวางหนังสือ - ค่าตัวเลขที่กำหนดให้กับชั้นวางหนังสือในคลังภาพของผู้ใช้ Google มีชั้นวางที่กําหนดไว้ล่วงหน้าสําหรับผู้ใช้ทุกคนที่มีรหัสต่อไปนี้
    • รายการโปรด: 0
    • ซื้อแล้ว: 1
    • ที่จะอ่าน: 2
    • กำลังอ่าน: 3
    • อ่านแล้ว: 4
    • รีวิว: 5
    • ดูล่าสุด: 6
    • eBooks ของฉัน: 7
    • หนังสือสำหรับคุณ: 8 หากไม่มีหนังสือแนะนำสำหรับผู้ใช้ จะไม่มีชั้นวางนี้
    ชั้นวางที่กำหนดเองจะมีรหัสมากกว่า 1,000 รหัสชั้นหนังสือของผู้ใช้แต่ละรายจะแตกต่างกัน กล่าวคือ ผู้ใช้ 2 คนอาจมีชั้นหนังสือที่มีรหัสเดียวกันซึ่งอ้างอิงถึงชั้นหนังสือที่แตกต่างกัน คุณสามารถใช้ API เพื่อรับรหัสชั้นวางหนังสือได้โดยส่งคำขอที่แสดงผลทรัพยากรชั้นวางหนังสือ ซึ่งคุณจะเห็นรหัสชั้นวางหนังสือในช่อง id
  • รหัสผู้ใช้ - ค่าตัวเลขที่ไม่ซ้ำกันซึ่งกําหนดให้กับผู้ใช้แต่ละราย ค่าเหล่านี้ไม่จำเป็นต้องเป็นค่ารหัสเดียวกับที่ใช้ในบริการอื่นๆ ของ Google ปัจจุบันวิธีเดียวในการดึงข้อมูลรหัสผู้ใช้คือการดึงข้อมูลจาก selfLink ในทรัพยากร Bookshelf ที่ดึงข้อมูลด้วยคําขอที่ตรวจสอบสิทธิ์แล้ว นอกจากนี้ ผู้ใช้ยังดูรหัสผู้ใช้ของตนเองได้จากเว็บไซต์ Books ผู้ใช้ไม่สามารถรับรหัสผู้ใช้ของผู้ใช้รายอื่นผ่าน API หรือเว็บไซต์ Books ได้ โดยผู้ใช้รายดังกล่าวจะต้องแชร์ข้อมูลดังกล่าวอย่างชัดเจน เช่น ทางอีเมล

รหัสในเว็บไซต์ Google Books

รหัสที่คุณใช้กับ Books API คือรหัสเดียวกับที่ใช้ในเว็บไซต์ Google Books

  • รหัสเล่ม

    เมื่อดูเล่มใดเล่มหนึ่งในเว็บไซต์ คุณจะเห็นรหัสเล่มนั้นในพารามิเตอร์ id URL มีตัวอย่างดังต่อไปนี้

    https://books.google.com/ebooks?id=buc0AAAAMAAJ&dq=holmes&as_brr=4&source=webstore_bookcard

  • รหัสชั้นวางหนังสือ

    เมื่อดูชั้นวางหนังสือที่เฉพาะเจาะจงในเว็บไซต์ คุณจะเห็นรหัสชั้นวางหนังสือในพารามิเตอร์ของ URL as_coll มีตัวอย่างดังต่อไปนี้

    https://books.google.com/books?hl=en&as_coll=0&num=10&uid=11122233344455566778&source=gbs_slider_cls_metadata_0_mylibrary

  • รหัสผู้ใช้

    เมื่อดูคลังของคุณในเว็บไซต์ คุณจะเห็นรหัสผู้ใช้ในพารามิเตอร์ uid URL มีตัวอย่างดังต่อไปนี้

    https://books.google.com/books?uid=11122233344455566778&source=gbs_lp_bookshelf_list

การตั้งค่าสถานที่ตั้งของผู้ใช้

Google Books เคารพลิขสิทธิ์ สัญญา และข้อจำกัดทางกฎหมายอื่นๆ ที่เชื่อมโยงกับสถานที่ตั้งของผู้ใช้ปลายทาง ด้วยเหตุนี้ ผู้ใช้บางรายจึงอาจไม่สามารถเข้าถึงเนื้อหาหนังสือจากบางประเทศได้ ตัวอย่างเช่น หนังสือบางเล่ม "ดูตัวอย่างได้" ในสหรัฐอเมริกาเท่านั้น เราจะไม่แสดงลิงก์ตัวอย่างหนังสือดังกล่าวแก่ผู้ใช้ในประเทศอื่นๆ ดังนั้น ผลลัพธ์ของ API จึงถูกจํากัดตามที่อยู่ IP ของเซิร์ฟเวอร์หรือแอปพลิเคชันไคลเอ็นต์

การทำงานกับวอลุ่ม

ทำการค้นหา

คุณทำการค้นหาปริมาณได้โดยส่งคำขอ HTTP GET ไปยัง URI ต่อไปนี้

https://www.googleapis.com/books/v1/volumes?q=search+terms

คําขอนี้มีพารามิเตอร์ที่จําเป็นเพียงรายการเดียว ดังนี้

  • q - ค้นหาเล่มที่มีสตริงข้อความนี้ มีคีย์เวิร์ดพิเศษที่คุณสามารถระบุในข้อความค้นหาเพื่อค้นหาในช่องที่เฉพาะเจาะจงได้ เช่น
    • intitle: แสดงผลลัพธ์ที่พบข้อความตามคีย์เวิร์ดนี้ในชื่อ
    • inauthor: แสดงผลลัพธ์ที่พบข้อความตามคีย์เวิร์ดนี้ในผู้เขียน
    • inpublisher: แสดงผลลัพธ์ที่พบข้อความตามคีย์เวิร์ดนี้ในผู้เผยแพร่โฆษณา
    • subject: แสดงผลลัพธ์ที่มีข้อความตามหลังคีย์เวิร์ดนี้อยู่ในรายการหมวดหมู่ของวอลุ่ม
    • isbn: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลข ISBN
    • lccn: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลขมาตรฐานสำหรับหนังสือของหอสมุดรัฐสภาอเมริกัน
    • oclc: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลขศูนย์ห้องสมุดคอมพิวเตอร์ออนไลน์

ส่งคำขอ

ต่อไปนี้คือตัวอย่างการค้นหา "Flowers for Algernon" ของ Daniel Keyes

GET https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&key=yourAPIKey

หมายเหตุ: การทำ Search ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ คุณจึงไม่ต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET อย่างไรก็ตาม หากการโทรมีการตรวจสอบสิทธิ์ แต่ละระดับเสียงจะมีข้อมูลเฉพาะผู้ใช้ เช่น สถานะการซื้อ

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วย200 OKรหัสสถานะ HTTP และผลลัพธ์เกี่ยวกับปริมาณ ดังนี้

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "_ojXNuzgHRcC",
   "etag": "OTD2tB19qn4",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/_ojXNuzgHRcC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Vijaya Khisty Bodach"
    ],
   ...
  },
  {
   "kind": "books#volume",
   "id": "RJxWIQOvoZUC",
   "etag": "NsxMT6kCCVs",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/RJxWIQOvoZUC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Gail Saunders-Smith"
    ],
    ...
  },
  {
   "kind": "books#volume",
   "id": "zaRoX10_UsMC",
   "etag": "pm1sLMgKfMA",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/zaRoX10_UsMC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Paul McEvoy"
    ],
    ...
  },
  "totalItems": 3
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

นอกจากพารามิเตอร์การค้นหามาตรฐานแล้ว คุณยังใช้พารามิเตอร์การค้นหาต่อไปนี้ได้เมื่อทำการค้นหาปริมาณ

รูปแบบการดาวน์โหลด

คุณใช้พารามิเตอร์ download เพื่อจำกัดผลลัพธ์ที่แสดงผลเป็นวอลุ่มที่มีรูปแบบการดาวน์โหลด epub ที่พร้อมใช้งานโดยการตั้งค่า เป็นค่า epub

ตัวอย่างต่อไปนี้จะค้นหาหนังสือที่พร้อมให้ดาวน์โหลดในรูปแบบ epub

GET https://www.googleapis.com/books/v1/volumes?q=pride+prejudice&download=epub&key=yourAPIKey
การกรอง

คุณสามารถใช้พารามิเตอร์ filter เพื่อจํากัดผลการค้นหาที่แสดงผลเพิ่มเติมได้โดยการตั้งค่าพารามิเตอร์เป็นค่าใดค่าหนึ่งต่อไปนี้

  • partial - แสดงผลลัพธ์ที่แสดงตัวอย่างข้อความได้อย่างน้อยบางส่วน
  • full - แสดงเฉพาะผลการค้นหาที่มองเห็นข้อความทั้งหมดได้
  • free-ebooks - แสดงเฉพาะผลการค้นหาที่เป็น Google eBook ฟรี
  • paid-ebooks - แสดงเฉพาะผลการค้นหาที่เป็น Google eBooks ที่มีราคา
  • ebooks - แสดงเฉพาะผลการค้นหาที่เป็น Google eBooks ไม่ว่าจะแบบชำระเงินหรือฟรี ตัวอย่างเนื้อหาที่ไม่ใช่ eBook ได้แก่ เนื้อหาของผู้เผยแพร่โฆษณาที่พร้อมให้แสดงตัวอย่างแบบจำกัดและไม่ได้วางจำหน่าย หรือนิตยสาร

ตัวอย่างต่อไปนี้จะจำกัดผลการค้นหาให้แสดงเฉพาะ eBook ที่ดาวน์โหลดได้ฟรี

GET https://www.googleapis.com/books/v1/volumes?q=flowers&filter=free-ebooks&key=yourAPIKey
การใส่เลขหน้า

คุณแบ่งหน้ารายการปริมาณได้โดยระบุค่า 2 ค่าในพารามิเตอร์ของคำขอ ดังนี้

  • startIndex - ตำแหน่งในคอลเล็กชันที่จะเริ่มต้น ดัชนีของรายการแรกคือ 0
  • maxResults - จำนวนผลลัพธ์สูงสุดที่จะแสดง ค่าเริ่มต้นคือ 10 และค่าสูงสุดที่อนุญาตคือ 40

คุณสามารถใช้พารามิเตอร์ printType เพื่อจำกัดผลการค้นหาที่แสดงเป็นสิ่งพิมพ์หรือประเภทสิ่งพิมพ์ที่เฉพาะเจาะจงโดยตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้

  • all - ไม่จํากัดตามประเภทการพิมพ์ (ค่าเริ่มต้น)
  • books - แสดงเฉพาะผลการค้นหาที่เป็นหนังสือ
  • magazines - แสดงผลลัพธ์ที่เป็นนิตยสาร

ตัวอย่างต่อไปนี้จะจํากัดผลการค้นหาไว้เฉพาะนิตยสาร

GET https://www.googleapis.com/books/v1/volumes?q=time&printType=magazines&key=yourAPIKey
การฉายภาพ

คุณสามารถใช้พารามิเตอร์ projection กับค่าใดค่าหนึ่งต่อไปนี้เพื่อระบุชุดช่องปริมาณที่กำหนดไว้ล่วงหน้าที่จะแสดงผล

  • full - แสดงผลช่อง Volume ทั้งหมด
  • lite - แสดงเฉพาะบางช่อง ดูคำอธิบายช่องที่มีเครื่องหมายแอสตรีสิบสองตัวในข้อมูลอ้างอิงเกี่ยวกับปริมาณเพื่อดูว่าช่องใดรวมอยู่ด้วย

ตัวอย่างต่อไปนี้แสดงผลการค้นหาที่มีข้อมูลปริมาณแบบจำกัด

GET https://www.googleapis.com/books/v1/volumes?q=flowers&projection=lite&key=yourAPIKey
การจัดเรียง

โดยค่าเริ่มต้น คำขอการค้นหาปริมาณจะแสดงผลลัพธ์ maxResults รายการ โดยที่ maxResults คือพารามิเตอร์ที่ใช้ในการแบ่งหน้า (ด้านบน) ซึ่งจัดเรียงตามความเกี่ยวข้องกับข้อความค้นหา

คุณเปลี่ยนลําดับได้โดยการตั้งค่าพารามิเตอร์ orderBy ให้มีค่าใดค่าหนึ่งต่อไปนี้

  • relevance - แสดงผลลัพธ์ตามลำดับความเกี่ยวข้องของข้อความค้นหา (ค่าเริ่มต้น)
  • newest - แสดงผลลัพธ์ตามลำดับจากล่าสุดไปจนถึงล่าสุด

ตัวอย่างต่อไปนี้แสดงผลลัพธ์ตามวันที่เผยแพร่จากใหม่สุดไปเก่าสุด

GET https://www.googleapis.com/books/v1/volumes?q=flowers&orderBy=newest&key=yourAPIKey

การเรียกข้อมูลวอลุ่มที่เฉพาะเจาะจง

คุณสามารถเรียกข้อมูลของวอลุ่มที่เฉพาะเจาะจงได้โดยส่งคำขอ HTTPGET ไปยัง URI ของทรัพยากรวอลุ่ม ดังนี้

https://www.googleapis.com/books/v1/volumes/volumeId

แทนที่พารามิเตอร์เส้นทาง volumeId ด้วยรหัสของวอลุ่มที่จะดึงข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสเล่มได้ที่ส่วนรหัส Google Books

ส่งคำขอ

ต่อไปนี้คือตัวอย่างคำขอ GET ที่ได้รับวอลุ่มเดียว

GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?key=yourAPIKey

หมายเหตุ: การดึงข้อมูลปริมาณไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ คุณจึงไม่ต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET อย่างไรก็ตาม หากมีการโทรที่มีการตรวจสอบสิทธิ์ ปริมาณจะมีข้อมูลเฉพาะผู้ใช้ เช่น สถานะการซื้อ

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ HTTP 200 OK และทรัพยากรของวอลุ่มที่ขอ

200 OK

{
 "kind": "books#volume",
 "id": "zyTCAlFPjgYC",
 "etag": "f0zKg75Mx/I",
 "selfLink": "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC",
 "volumeInfo": {
  "title": "The Google story",
  "authors": [
   "David A. Vise",
   "Mark Malseed"
  ],
  "publisher": "Random House Digital, Inc.",
  "publishedDate": "2005-11-15",
  "description": "\"Here is the story behind one of the most remarkable Internet
  successes of our time. Based on scrupulous research and extraordinary access
  to Google, ...",
  "industryIdentifiers": [
   {
    "type": "ISBN_10",
    "identifier": "055380457X"
   },
   {
    "type": "ISBN_13",
    "identifier": "9780553804577"
   }
  ],
  "pageCount": 207,
  "dimensions": {
   "height": "24.00 cm",
   "width": "16.03 cm",
   "thickness": "2.74 cm"
  },
  "printType": "BOOK",
  "mainCategory": "Business & Economics / Entrepreneurship",
  "categories": [
   "Browsers (Computer programs)",
   ...
  ],
  "averageRating": 3.5,
  "ratingsCount": 136,
  "contentVersion": "1.1.0.0.preview.2",
  "imageLinks": {
   "smallThumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
   "thumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api",
   "small": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=2&edge=curl&source=gbs_api",
   "medium": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=3&edge=curl&source=gbs_api",
   "large": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=4&edge=curl&source=gbs_api",
   "extraLarge": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=6&edge=curl&source=gbs_api"
  },
  "language": "en",
  "infoLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&source=gbs_api",
  "canonicalVolumeLink": "https://books.google.com/books/about/The_Google_story.html?id=zyTCAlFPjgYC"
 },
 "saleInfo": {
  "country": "US",
  "saleability": "FOR_SALE",
  "isEbook": true,
  "listPrice": {
   "amount": 11.99,
   "currencyCode": "USD"
  },
  "retailPrice": {
   "amount": 11.99,
   "currencyCode": "USD"
  },
  "buyLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&buy=&source=gbs_api"
 },
 "accessInfo": {
  "country": "US",
  "viewability": "PARTIAL",
  "embeddable": true,
  "publicDomain": false,
  "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY",
  "epub": {
   "isAvailable": true,
   "acsTokenLink": "https://books.google.com/books/download/The_Google_story-sample-epub.acsm?id=zyTCAlFPjgYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
  },
  "pdf": {
   "isAvailable": false
  },
  "accessViewStatus": "SAMPLE"
 }
}
ข้อมูลการเข้าถึง

ส่วน accessInfo มีความสำคัญอย่างยิ่งในการระบุฟีเจอร์ที่ใช้ได้กับ eBook epub คือ eBook รูปแบบข้อความต่อเนื่อง ส่วน epub จะมีพร็อพเพอร์ตี้ isAvailable ซึ่งระบุว่า eBook ประเภทนี้มีให้บริการหรือไม่ หน้าดังกล่าวจะมีลิงก์ดาวน์โหลดหากมีตัวอย่างหนังสือ หรือหากผู้ใช้อ่านหนังสือได้เนื่องจากซื้อหนังสือเล่มนั้นไว้แล้ว หรือเนื่องจากหนังสือเป็นสาธารณสมบัติในสถานที่ตั้งของผู้ใช้ pdf สำหรับ Google Books หมายถึง eBook เวอร์ชันหน้าเว็บที่สแกนซึ่งมีรายละเอียดที่คล้ายกัน เช่น ความพร้อมให้บริการและลิงก์ดาวน์โหลด Google แนะนำให้ใช้ไฟล์ epub สำหรับ eReader และสมาร์ทโฟน เนื่องจากหน้าเว็บที่สแกนอาจอ่านได้ยากในอุปกรณ์เหล่านี้ หากไม่มีส่วน accessInfo แสดงว่าเล่มนั้นไม่มีให้บริการในรูปแบบ eBook ของ Google

พารามิเตอร์การค้นหาที่ไม่บังคับ

นอกจากพารามิเตอร์การค้นหามาตรฐานแล้ว คุณยังใช้พารามิเตอร์การค้นหาต่อไปนี้ได้เมื่อดึงข้อมูลวอลุ่มที่เฉพาะเจาะจง

การฉายภาพ

คุณสามารถใช้พารามิเตอร์ projection กับค่าใดค่าหนึ่งต่อไปนี้เพื่อระบุชุดช่องปริมาณที่กำหนดไว้ล่วงหน้าที่จะแสดงผล

  • full - แสดงผลช่อง Volume ทั้งหมด
  • lite - แสดงเฉพาะบางช่อง ดูคำอธิบายช่องที่มีเครื่องหมายแอสตรีสิบสองตัวในข้อมูลอ้างอิงเกี่ยวกับปริมาณเพื่อดูว่าช่องใดรวมอยู่ด้วย

ตัวอย่างต่อไปนี้แสดงข้อมูลปริมาณที่จำกัดสำหรับวอลุ่มเดียว

GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?projection=lite&key=yourAPIKey

การทำงานกับชั้นวางหนังสือ

การเรียกข้อมูลรายการชั้นวางหนังสือสาธารณะของผู้ใช้

คุณสามารถเรียกข้อมูลรายการชั้นวางหนังสือสาธารณะของผู้ใช้ได้โดยส่งคำขอ HTTPGET ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/users/userId/bookshelves

แทนที่พารามิเตอร์เส้นทาง userId ด้วยรหัสของผู้ใช้ที่ต้องการดึงข้อมูลชั้นวางหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสผู้ใช้ได้ในส่วนรหัส Google Books

ส่งคำขอ

มีตัวอย่างดังต่อไปนี้

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves&key=yourAPIKey

เนื่องจากผู้ใช้ไม่จำเป็นต้องตรวจสอบสิทธิ์เพื่อดึงข้อมูลเกี่ยวกับชั้นวางหนังสือสาธารณะ คุณจึงไม่ต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วย200 OKรหัสสถานะ HTTP และรายการชั้นวางหนังสือ ดังนี้

200 OK

{
 "kind": "books#bookshelves",
 "items": [
  {
   ...
  },
  {
   "kind": "books#bookshelf",
   "id": 3,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
   "title": "Reading now",
   "description": "",
   "access": "PUBLIC",
   "updated": "2011-02-02T20:34:20.146Z",
   "created": "2011-02-02T20:34:20.146Z",
   "volumeCount": 2,
   "volumesLastUpdated": "2011-02-02T20:34:20.110Z"
  },
  ...
 ]
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อดึงข้อมูลรายการชั้นวางหนังสือสาธารณะของผู้ใช้

การเรียกดูชั้นวางหนังสือสาธารณะที่เฉพาะเจาะจง

คุณสามารถเรียกดูชั้นวางหนังสือสาธารณะที่เฉพาะเจาะจงได้โดยส่งคำขอ HTTPGET ไปยัง URI ในรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/users/userId/bookshelves/shelf

แทนที่พารามิเตอร์เส้นทาง userId และ shelf ด้วยรหัสที่ระบุผู้ใช้และชั้นวางหนังสือที่คุณต้องการเรียกข้อมูล ดูข้อมูลเพิ่มเติมได้ที่ส่วนรหัส Google Books

ส่งคำขอ

มีตัวอย่างดังต่อไปนี้

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3?key=yourAPIKey

เนื่องจากผู้ใช้ไม่จำเป็นต้องตรวจสอบสิทธิ์เพื่อดึงข้อมูลเกี่ยวกับชั้นวางหนังสือสาธารณะ คุณจึงไม่ต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วย200 OKรหัสสถานะ HTTP และทรัพยากรชั้นวางหนังสือ ดังนี้

200 OK

{
  "kind": "books#bookshelf",
  "id": 3,
  "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
  "title": "Reading now",
  "description": "",
  "access": "PUBLIC",
  "updated": "2011-02-02T20:34:20.146Z",
  "created": "2011-02-02T20:34:20.146Z",
  "volumeCount": 2,
  "volumesLastUpdated": "2011-02-02T20:34:20.110Z"
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อดึงข้อมูลชั้นวางหนังสือสาธารณะที่เฉพาะเจาะจง

การดึงข้อมูลรายการเล่มในชั้นวางหนังสือสาธารณะ

คุณสามารถเรียกข้อมูลรายการเล่มในชั้นวางหนังสือสาธารณะของผู้ใช้ได้โดยส่งคำขอ HTTPGET ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/user/userId/bookshelves/shelf/volumes

ส่งคำขอ

มีตัวอย่างดังต่อไปนี้

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3/volumes?key=yourAPIKey

แทนที่พารามิเตอร์เส้นทาง userId และ shelf ด้วยรหัสที่ระบุผู้ใช้และชั้นวางหนังสือที่คุณต้องการเรียกข้อมูล ดูข้อมูลเพิ่มเติมได้ที่ส่วนรหัส Google Books

เนื่องจากผู้ใช้ไม่จำเป็นต้องตรวจสอบสิทธิ์เพื่อดึงข้อมูลเกี่ยวกับชั้นวางหนังสือสาธารณะ คุณจึงไม่ต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วย200 OKรหัสสถานะ HTTP และรายการชั้นวางหนังสือของผู้ใช้ ดังนี้

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "AZ5J6B1-4BoC",
   "etag": "kIzQA7IUObk",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC",
   "volumeInfo": {
    "title": "The Girl Who Kicked the Hornet's Nest",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2010-05-25",
    ...
  },
  {
   "kind": "books#volume",
   "id": "UvK1Slvkz3MC",
   "etag": "otKmdbRgdFQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC",
   "volumeInfo": {
    "title": "The Girl who Played with Fire",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2009-07-28",
    ...
  },
  {
   "kind": "books#volume",
   "id": "OBM3AAAAIAAJ",
   "etag": "xb47kTr8HsQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ",
   "volumeInfo": {
    "title": "The Sign of Four",
    "authors": [
     "Sir Arthur Conan Doyle"
    ],
    "publishedDate": "1890",
    ...
  }
 ],
 "totalItems": 3
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

นอกเหนือจากพารามิเตอร์การค้นหามาตรฐาน คุณสามารถใช้พารามิเตอร์การค้นหาต่อไปนี้เมื่อดึงข้อมูลรายการหนังสือในชั้นวางหนังสือสาธารณะ

การใส่เลขหน้า

คุณแบ่งหน้ารายการปริมาณได้โดยระบุค่า 2 ค่าในพารามิเตอร์ของคำขอ ดังนี้

  • startIndex - ตำแหน่งในคอลเล็กชันที่จะเริ่มต้น ดัชนีของรายการแรกคือ 0
  • maxResults - จำนวนผลลัพธ์สูงสุดที่จะแสดง ค่าเริ่มต้นคือ 10 และค่าสูงสุดที่อนุญาตคือ 40

การใช้ชั้นวางหนังสือใน "คลังหนังสือของฉัน"

คำขอ "คลังภาพของฉัน" ทั้งหมดจะมีผลกับข้อมูลของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

ดึงข้อมูลรายการชั้นวางหนังสือของฉัน

คุณสามารถเรียกข้อมูลชั้นวางหนังสือทั้งหมดของผู้ใช้ที่ตรวจสอบสิทธิ์แล้วได้โดยการส่งคำขอ HTTP GET ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/mylibrary/bookshelves

ส่งคำขอ

มีตัวอย่างดังต่อไปนี้

GET https://www.googleapis.com/books/v1/mylibrary/bookshelves?key=yourAPIKey
Authorization: /* auth token here */

หมายเหตุ: ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์เพื่อดึงข้อมูลชั้นวางหนังสือ "คลังหนังสือของฉัน" คุณจึงต้องระบุส่วนหัว HTTP ของ Authorization กับคำขอ GET

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ 200 OK HTTP และรายการชั้นวางหนังสือทั้งหมดของผู้ใช้ที่ตรวจสอบสิทธิ์ในปัจจุบัน ดังนี้

200 OK

{
 "kind": "books#bookshelves",
 "items": [
  {
   "kind": "books#bookshelf",
   "id": 0,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/0",
   "title": "Favorites",
   "access": "PRIVATE",
   "updated": "2011-04-22T04:03:15.416Z",
   "created": "2011-04-22T04:03:15.416Z",
   "volumeCount": 0,
   "volumesLastUpdated": "2011-04-22T04:03:17.000Z"
  },
  {
   "kind": "books#bookshelf",
   "id": 3,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
   "title": "Reading now",
   "access": "PUBLIC",
   "updated": "2010-11-11T19:44:22.377Z",
   "created": "2010-11-11T19:44:22.377Z",
   "volumeCount": 1,
   "volumesLastUpdated": "2010-11-11T19:44:22.341Z"
  }
 ]
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อดึงข้อมูลรายการชั้นวางหนังสือของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์

การดึงข้อมูลรายการหนังสือในชั้นวางหนังสือ

คุณสามารถเรียกข้อมูลรายการหนังสือในชั้นวางของผู้ใช้ที่ตรวจสอบสิทธิ์แล้วได้โดยการส่งคำขอ HTTP GET ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes

แทนที่พารามิเตอร์เส้นทาง shelf ด้วยรหัสของชั้นวางหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสชั้นวางหนังสือได้ในส่วนรหัส Google Books

ส่งคำขอ

มีตัวอย่างดังต่อไปนี้

GET https://www.googleapis.com/books/v1/mylibrary/bookshelves/7/volumes?key=yourAPIKey
Authorization: /* auth token here */

หมายเหตุ: ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์เพื่อเรียกข้อมูลรายการของโวลุ่มใน "คลังหนังสือของฉัน" คุณจึงต้องระบุส่วนหัว Authorization HTTP กับคำขอ GET

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วย200 OKรหัสสถานะ HTTP และรายการเล่มในชั้นวางดังนี้

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "AZ5J6B1-4BoC",
   "etag": "kIzQA7IUObk",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC",
   "volumeInfo": {
    "title": "The Girl Who Kicked the Hornet's Nest",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2010-05-25",
    ...
  },
  {
   "kind": "books#volume",
   "id": "UvK1Slvkz3MC",
   "etag": "otKmdbRgdFQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC",
   "volumeInfo": {
    "title": "The Girl who Played with Fire",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2009-07-28",
    ...
  },
  {
   "kind": "books#volume",
   "id": "OBM3AAAAIAAJ",
   "etag": "xb47kTr8HsQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ",
   "volumeInfo": {
    "title": "The Sign of Four",
    "authors": [
     "Sir Arthur Conan Doyle"
    ],
    "publishedDate": "1890",
    ...
  }
 ],
 "totalItems": 3
}

พารามิเตอร์การค้นหาที่ไม่บังคับ

นอกจากพารามิเตอร์การค้นหามาตรฐานแล้ว คุณยังใช้พารามิเตอร์การค้นหาต่อไปนี้ได้เมื่อดึงข้อมูลรายการหนังสือในชั้นวางหนังสือของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์

การใส่เลขหน้า

คุณแบ่งหน้ารายการปริมาณได้โดยระบุค่า 2 ค่าในพารามิเตอร์ของคำขอ ดังนี้

  • startIndex - ตำแหน่งในคอลเล็กชันที่จะเริ่มต้น ดัชนีของรายการแรกคือ 0
  • maxResults - จำนวนผลลัพธ์สูงสุดที่จะแสดง ค่าเริ่มต้นคือ 10

การเพิ่มเล่มลงในชั้นวางหนังสือ

หากต้องการเพิ่มเล่มลงในชั้นวางหนังสือของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้ส่งคำขอ HTTPPOST ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/addVolume

แทนที่พารามิเตอร์เส้นทาง shelf ด้วยรหัสของชั้นวางหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสชั้นวางหนังสือได้ในส่วนรหัส Google Books

คําขอมีพารามิเตอร์การค้นหาที่จําเป็นรายการเดียว ดังนี้

  • volumeId - รหัสของหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสเล่มได้ที่ส่วนรหัส Google Books

ส่งคำขอ

ตัวอย่างการเพิ่ม "Flowers for Algernon" ไปยังชั้นวาง "รายการโปรด" มีดังนี้

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/addVolume?volumeId=NRWlitmahXkC&key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH

หมายเหตุ: ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์จึงจะแก้ไขชั้นวางหนังสือได้ คุณจึงต้องระบุส่วนหัว Authorization HTTP กับคำขอ POST แต่ไม่ต้องระบุข้อมูลใดๆ กับตัวเลือกนี้ POST

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ 204 No Content HTTP

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อเพิ่มเล่มลงในชั้นวางหนังสือของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

นำเล่มออกจากชั้นวางหนังสือ

หากต้องการนำหนังสือออกจากชั้นวางหนังสือของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้ส่ง HTTP POST ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/removeVolume

แทนที่พารามิเตอร์เส้นทาง shelf ด้วยรหัสของชั้นวางหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสชั้นวางหนังสือได้ในส่วนรหัส Google Books

คําขอมีพารามิเตอร์การค้นหาที่จําเป็นรายการเดียว ดังนี้

  • volumeId - รหัสของหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสเล่มได้ที่ส่วนรหัส Google Books

ส่งคำขอ

ตัวอย่างการนำ "Flowers for Algernon" ออกจากชั้นวาง "รายการโปรด" มีดังนี้

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/removeVolume?volumeId=NRWlitmahXkC&key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH

หมายเหตุ: ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์จึงจะแก้ไขชั้นวางหนังสือได้ คุณจึงต้องระบุส่วนหัว Authorization HTTP กับคำขอ POST แต่ไม่ต้องระบุข้อมูลใดๆ กับตัวเลือกนี้ POST

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ 204 No Content

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อนำเล่มออกจากชั้นวางหนังสือของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

การล้างหนังสือทั้งหมดออกจากชั้นวางหนังสือ

หากต้องการนำหนังสือทั้งหมดออกจากชั้นวางหนังสือของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ ให้ส่ง HTTP POST ไปยัง URI ที่มีรูปแบบต่อไปนี้

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/clearVolumes

แทนที่พารามิเตอร์เส้นทาง shelf ด้วยรหัสของชั้นวางหนังสือ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสชั้นวางหนังสือได้ในส่วนรหัส Google Books

ส่งคำขอ

ต่อไปนี้คือตัวอย่างการล้างชั้นวาง "รายการโปรด"

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/clearVolumes?key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH
  

หมายเหตุ: ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์จึงจะแก้ไขชั้นวางหนังสือได้ คุณจึงต้องระบุส่วนหัว Authorization HTTP กับคำขอ POST แต่ไม่ต้องระบุข้อมูลใดๆ กับตัวเลือกนี้ POST

คำตอบ

หากคำขอสำเร็จ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ 204 No Content

พารามิเตอร์การค้นหาที่ไม่บังคับ

คุณสามารถใช้พารามิเตอร์การค้นหามาตรฐานเมื่อล้างหนังสือทั้งหมดออกจากชั้นวางหนังสือของผู้ใช้ที่ตรวจสอบสิทธิ์แล้วรายใดรายหนึ่ง

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

พารามิเตอร์การค้นหาที่คุณใช้กับ Books API ได้จะสรุปไว้ในส่วนนี้ ค่าพารามิเตอร์ทั้งหมดต้องเข้ารหัส URL

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

พารามิเตอร์การค้นหาที่ใช้กับการดำเนินการทั้งหมดของ Books API มีอยู่ในเอกสารพารามิเตอร์ของระบบ

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

พารามิเตอร์คำขอที่ใช้กับการดำเนินการบางอย่างใน Books API เท่านั้นจะสรุปไว้ในตารางต่อไปนี้

พารามิเตอร์ ความหมาย หมายเหตุ ประโยชน์ต่อการให้บริการ
download จำกัดเฉพาะเล่มที่พร้อมให้ดาวน์โหลด
  • ปัจจุบันค่าที่รองรับเพียงค่าเดียวคือ epub
  • คุณอาจต้องซื้อเพื่อเข้าถึงการดาวน์โหลด
filter กรองผลการค้นหาตามประเภทปริมาณและความพร้อมจำหน่ายสินค้า
  • ตัวกรองที่รองรับมีดังนี้
    • filter=partial - จำกัดผลการค้นหาให้แสดงเฉพาะเล่มที่มีการแสดงตัวอย่างข้อความอย่างน้อยบางส่วน
    • filter=full - จำกัดผลการค้นหาให้แสดงเฉพาะเล่มที่อ่านข้อความทั้งหมดได้
    • filter=free-ebooks - จำกัดผลการค้นหาเป็น Google eBook ฟรี
    • filter=paid-ebooks - จำกัดผลการค้นหาให้แสดงเฉพาะ Google eBooks ที่มีราคาสำหรับซื้อ
    • filter=ebooks - จำกัดผลการค้นหาให้แสดงเฉพาะ Google eBooks แบบชำระเงินหรือแบบไม่มีค่าใช้จ่าย ตัวอย่างของเนื้อหาที่ไม่ใช่ eBook ได้แก่ เนื้อหาของผู้จัดพิมพ์ที่มีให้ดูตัวอย่างแบบจำกัดและไม่มีจำหน่าย หรือนิตยสาร

 

langRestrict จำกัดจำนวนเล่มที่แสดงเฉพาะเล่มที่ติดแท็กด้วยภาษาที่ระบุ
  • จำกัดผลการค้นหาเฉพาะผลการค้นหาที่เป็นภาษาใดภาษาหนึ่งโดยระบุ langRestrict เป็นรหัส ISO-639-1 แบบ 2 ตัวอักษร เช่น "en" หรือ "fr"
maxResults จำนวนองค์ประกอบสูงสุดที่จะแสดงพร้อมกับคำขอนี้
  • สำหรับคำขอรายการทั้งหมดในคอลเล็กชัน คุณสามารถแบ่งหน้าผลลัพธ์ได้โดยระบุ startIndex และ maxResults ในพารามิเตอร์สำหรับคำขอ
  • ค่าเริ่มต้น: maxResults=10
  • ค่าสูงสุดที่อนุญาต: maxResults=40.
orderBy

ลำดับของผลการค้นหาปริมาณ

  • โดยค่าเริ่มต้น คำขอค้นหาจะแสดงผลลัพธ์ maxResults รายการ โดยที่ maxResults คือพารามิเตอร์ที่ใช้ในการแบ่งหน้า ซึ่งจัดเรียงตามความเกี่ยวข้องมากที่สุดก่อน
  • คุณเปลี่ยนลําดับได้โดยการตั้งค่าพารามิเตอร์ orderBy ให้มีค่าใดค่าหนึ่งต่อไปนี้
    • orderBy=relevance - แสดงผลการค้นหาตามลําดับจากความเกี่ยวข้องมากที่สุดไปจนถึงน้อยที่สุด (ค่าเริ่มต้น)
    • orderBy=newest - แสดงผลการค้นหาตามลำดับวันที่เผยแพร่ล่าสุดไปจนถึงเก่าสุด
printType จำกัดเฉพาะหนังสือหรือนิตยสาร
  • ค่าที่รองรับมีดังนี้
    • printType=all - แสดงผลเนื้อหาประเภทต่างๆ ทั้งหมด (ไม่มีข้อจำกัด) ซึ่งเป็นค่าเริ่มต้น
    • printType=books - ส่งคืนเฉพาะหนังสือ
    • printType=magazines - คืนเฉพาะนิตยสาร
projection จำกัดข้อมูลปริมาณที่แสดงผลเป็นชุดย่อยของช่อง
  • การฉายภาพที่ใช้ได้มีดังนี้
    • projection=full - รวมข้อมูลเมตาของวอลุ่มทั้งหมด (ค่าเริ่มต้น)
    • projection=lite - รวมเฉพาะเรื่องเกี่ยวกับปริมาณและข้อมูลเมตาการเข้าถึง
q สตริงการค้นหาแบบเต็ม
  • เมื่อสร้างข้อความค้นหา ให้ใส่คําค้นหาโดยคั่นด้วย "+" ในรูปแบบ q=term1+term2_term3 (หรือจะคั่นด้วยเว้นวรรคก็ได้ แต่การเว้นวรรคต้องเข้ารหัส URL เช่นเดียวกับค่าพารามิเตอร์การค้นหาทั้งหมด) API จะแสดงผลรายการทั้งหมดที่ตรงกับข้อความค้นหาทั้งหมด (เช่น ใช้ AND ระหว่างข้อความ) API จะค้นหาคำที่สมบูรณ์ (และคำที่เกี่ยวข้องซึ่งมีรากศัพท์เดียวกัน) ไม่ใช่สตริงย่อย เช่นเดียวกับการค้นหาบนเว็บของ Google
  • หากต้องการค้นหาวลีที่ตรงกันทุกประการ ให้ใส่เครื่องหมายคำพูด q="exact phrase" ล้อมรอบวลี
  • หากต้องการยกเว้นรายการที่ตรงกับคําหนึ่งๆ ให้ใช้รูปแบบ q=-term
  • ข้อความค้นหาไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
  • ตัวอย่างเช่น หากต้องการค้นหารายการทั้งหมดที่มีวลี "Elizabeth Bennet" และคำ "Darcy" ตรงกันทุกประการ แต่ไม่มีคำ "Austen" ให้ใช้ค่าพารามิเตอร์การค้นหา
    q="Elizabeth+Bennet"+Darcy-Austen
  • คีย์เวิร์ดพิเศษ (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ที่คุณสามารถระบุในข้อความค้นหาเพื่อค้นหาในช่องที่ต้องการ เช่น
    • intitle: แสดงผลลัพธ์ที่มีข้อความตามคีย์เวิร์ดนี้ในชื่อ
    • inauthor: แสดงผลลัพธ์ที่พบข้อความตามคีย์เวิร์ดนี้ในผู้แต่ง
    • inpublisher: แสดงผลลัพธ์ที่พบข้อความตามคีย์เวิร์ดนี้ในผู้เผยแพร่โฆษณา
    • subject: แสดงผลลัพธ์ที่ข้อความตามคีย์เวิร์ดนี้แสดงอยู่ในรายการหมวดหมู่ของวอลุ่ม
    • isbn: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลข ISBN
    • lccn: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลขควบคุมของหอสมุดแห่งชาติ
    • oclc: แสดงผลลัพธ์ที่ข้อความต่อจากคีย์เวิร์ดนี้เป็นหมายเลขศูนย์ห้องสมุดคอมพิวเตอร์ออนไลน์
startIndex ตำแหน่งในคอลเล็กชันที่จะเริ่มต้นรายการผลลัพธ์
  • สําหรับคําขอรายการทั้งหมดในคอลเล็กชัน คุณสามารถแบ่งหน้าผลการค้นหาได้โดยระบุ startIndex และ maxResults ในพารามิเตอร์สําหรับคําขอ
  • ดัชนีของรายการแรกคือ 0
volumeId ระบุวอลุ่มที่เชื่อมโยงกับคำขอ
  • ระบุเล่มที่จะเพิ่มหรือนำออกจากชั้นวางหนังสือ