Ruby on Rails로 Google Books API 두드리기
6748 단어 GoogleBooksAPIRubyRails
모티프
책의 평론 사이트성(엄격히 다르지만 설명이 가볍다)을 조합으로 제작하고 있다.
책의 정보는 API를 통해 얻고, 책의 API도 많다.
책 검색 API 뭐가 제일 좋은지.
위의 글은 openbd를 추천하며 Google Books API를 사용하기로 결정했습니다.설치가 비교적 수월한 것 같습니다.(현재 어려움은 없음)
공식:
Google Books API - Google Developers
그리고 Rubby에서 Google Books API를 친 문서를 찾았지만, 찾지 못했습니다. 이것이 바로 이 글을 쓴 동기입니다.
Google Books API 및 Vuejs로 간단한 Book Finder app 만들기
[Pythhon3] Google Books API를 사용해 보십시오.
Google Books API에서 JSON 데이터를 가져와 jQuery로 처리
이루어지다
책에는 ISBN과 같은 주요 열쇠가 있다.
예: 9784839962227=>현장에서 사용한 Ruby on Rails 5 실습 가이드
예를 들어, Google Books API에서는 이 ISBN을 통해 다음 JSON을 사용할 수 있습니다.
https://www.googleapis.com/books/v1/volumes?q=isbn:9784839962227
ruby 2.6.5
ISBN에서 JSON으로 돌아가기
def get_json_from_isbn(isbn)
JSON.parse(Net::HTTP.get(URI.parse(
"https://www.googleapis.com/books/v1/volumes?q=isbn:#{isbn}"
)))
end
인스턴스 변수에 JSON 정보 입력(예)
json = get_json_from_isbn(9784839962227)
@book = Book.new(
author: json["items"][0]["volumeInfo"]["authors"][0],
description: json["items"][0]["volumeInfo"]["description"],
image_url: json["items"][0]["volumeInfo"],
published_at: json["items"][0]["volumeInfo"]["publishedDate"],
title: json["items"][0]["volumeInfo"]["title"],
)
JSON과 비교해 보면 내가 이미 책의 정보를 받았다는 것을 알 수 있을 것 같다.서버측 루비가 API를 두드리는 이유는 무엇입니까?
추기
기사를 썼지만 ISBN으로 때리는 건 좋지 않다고 생각해요.
다음은 이유.
1. ISBN이 API 정보로 들어오지 않는 경우도 있음
2. ISBN은 13비트에 인덱스를 사용할 수 없음 (biginit를 사용하는 것 같음)
3. 쓰기도 다양하다(예를 들어 9784774142357, 978-7741-44235-7 등)
특히치명적이어서 주요 열쇠로서의 기능을 기대할 수 없다.
Goole Books API에서는 각 책에 대해 다음 ID를 제공합니다.
8rtiRwAACAAJ
string을 사용하면 돼요. 저는 비교적 편해요.
def url_from_id(googlebooksapi_id)
"https://www.googleapis.com/books/v1/volumes/#{googlebooksapi_id}"
end
def get_json_from_url(url)
JSON.parse(Net::HTTP.get(URI.parse(url)))
end
겸사겸사 URL 반환 논리와 json 반환 논리로 나뉘었습니다.이렇게 하면 검색을 하는 URL을 재사용할 수 있다.
def url_from_keyword(keyword)
"https://www.googleapis.com/books/v1/volumes?q=#{keyword}&country=JP&maxResults=20"
end
Reference
이 문제에 관하여(Ruby on Rails로 Google Books API 두드리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kumackey/items/cd12c02662fb43948f9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)