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

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

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

แอปพลิเคชันต้องใช้ 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
  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 ใน Console โดยคลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API คุณจำกัดคีย์ก่อนนำไปใช้ในเวอร์ชันที่ใช้งานจริงได้โดยคลิกจำกัดคีย์ แล้วเลือกข้อจำกัดข้อใดข้อหนึ่ง

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

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

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

รหัส Google Books

คุณต้องระบุฟิลด์รหัสด้วยการเรียกเมธอด API บางรายการ รหัสที่ใช้ใน Google หนังสือมี 3 ประเภทดังนี้

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

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

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

  • รหัสหนังสือ

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

    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

  • รหัสผู้ใช้

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

    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: แสดงผลลัพธ์ซึ่งข้อความที่อยู่หลังคีย์เวิร์ดนี้คือหมายเลข Library of Congress
    • oclc: แสดงผลลัพธ์ซึ่งข้อความที่อยู่หลังคีย์เวิร์ดนี้เป็นหมายเลขศูนย์ห้องสมุดคอมพิวเตอร์ออนไลน์

ส่งคำขอ

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

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

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

คำตอบ

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

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 eBook พร้อมราคา
  • ebooks - แสดงเฉพาะผลการค้นหาที่เป็น Google eBook, เสียเงิน หรือ ฟรี ตัวอย่างเนื้อหาที่ไม่ใช่ 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 - แสดงผลช่องวอลุ่มทั้งหมด
  • lite - แสดงผลบางช่องเท่านั้น ดูคำอธิบายช่องที่มีเครื่องหมายดอกจัน 2 ตัวใน ข้อมูลอ้างอิงวอลุ่ม เพื่อค้นหา ช่องที่รวมอยู่ในระบบ

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

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

กำลังเรียกดูระดับเสียงที่ต้องการ

คุณเรียกข้อมูลสำหรับวอลุ่มที่ต้องการได้โดยส่งคำขอ HTTP GET ไปยัง URI ทรัพยากรของ Volume ดังนี้

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 สำหรับ eReaders และ SmartPhone เนื่องจากอุปกรณ์ที่สแกนอาจอ่านได้ยาก หากไม่มีส่วน accessInfo ก็จะไม่มีหนังสือชุดนี้ในรูปแบบ Google eBook

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

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

การฉายภาพ

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

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

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

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

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

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

คุณเรียกข้อมูลรายการชั้นวางหนังสือสาธารณะของผู้ใช้ได้โดยส่งคำขอ HTTP GET ไปยัง 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

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

คำตอบ

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

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"
  },
  ...
 ]
}

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

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

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

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

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

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

ส่งคำขอ

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

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

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

คำตอบ

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

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"
}

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

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

เรียกดูรายชื่อชุดบนชั้นวางหนังสือสาธารณะ

คุณสามารถเรียกดูรายการชุดบนชั้นวางหนังสือสาธารณะของผู้ใช้ได้โดยส่งคำขอ HTTP GET ไปยัง 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 และ sชั้น ด้วยรหัสที่ระบุผู้ใช้และชั้นวางหนังสือที่คุณต้องการเรียก ดูข้อมูลเพิ่มเติมในส่วนรหัส Google Books

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

คำตอบ

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

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

คำตอบ

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

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

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

ส่งคำขอ

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

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

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

คำตอบ

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

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

การเพิ่มระดับเสียงในชั้นวางหนังสือของฉัน

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

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

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

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

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

ส่งคำขอ

นี่คือตัวอย่างในการเพิ่ม "ดอกไม้สำหรับแอลเจอร์นอน" ไปยังชั้นวางหนังสือ "รายการโปรด":

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

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

คำตอบ

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

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

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

การนำชุดหนึ่งออกจากชั้นวางหนังสือของฉัน

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

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

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

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

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

ส่งคำขอ

ต่อไปนี้คือตัวอย่างการนำ "ดอกไม้สำหรับแอลเกอร์นอน" ออกจากชั้นวางหนังสือ "รายการโปรด"

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

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

คำตอบ

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

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

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

ล้างทุกเล่มออกจากชั้นวางหนังสือของฉัน

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

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

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

ส่งคำขอ

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

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
  

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

คำตอบ

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

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

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

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

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

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

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

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

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

พารามิเตอร์ ความหมาย Notes ประโยชน์ต่อการให้บริการ
download จำกัดเฉพาะเล่มที่ต้องการดาวน์โหลด
  • ปัจจุบันค่าที่รองรับมีเพียง epub ค่า
  • คุณอาจต้องซื้อจึงจะดาวน์โหลดได้
filter กรองผลการค้นหาตามประเภทปริมาณและความพร้อมใช้งาน
  • ตัวกรองที่รองรับ ได้แก่
    • filter=partial - จำกัดผลการค้นหาให้แสดงเฉพาะวอลุ่มที่สามารถดูตัวอย่างข้อความได้อย่างน้อยบางส่วน
    • filter=full - จำกัดผลการค้นหาให้แสดงเฉพาะปริมาณที่ดูข้อความทั้งหมดได้
    • filter=free-ebooks - จำกัดผลการค้นหาเฉพาะ Google eBook ฟรี
    • filter=paid-ebooks - จำกัดผลการค้นหาเฉพาะ Google eBook ที่มีราคาซื้อ
    • filter=ebooks - จำกัดผลการค้นหาเฉพาะ Google eBook, แบบชำระเงินหรือฟรี ตัวอย่างหนังสือที่ไม่ใช่ 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: แสดงผลลัพธ์ซึ่งข้อความที่อยู่หลังคีย์เวิร์ดนี้คือหมายเลข Library of Congress
    • oclc: แสดงผลลัพธ์โดยที่ข้อความที่อยู่หลังคีย์เวิร์ดนี้เป็นหมายเลขศูนย์ห้องสมุดคอมพิวเตอร์ออนไลน์
startIndex ตำแหน่งในคอลเล็กชันที่จะเริ่มต้นรายการผลลัพธ์
  • สำหรับคำขอสำหรับรายการทั้งหมดในคอลเล็กชัน คุณจะใส่เลขหน้าให้กับผลลัพธ์ได้ด้วยการระบุ startIndex และ maxResults ในพารามิเตอร์ของคำขอ
  • ดัชนีของรายการแรกคือ 0
volumeId ระบุปริมาณที่เชื่อมโยงกับคำขอ
  • ระบุระดับเสียงที่จะเพิ่มหรือนำออกจากชั้นวางหนังสือ