Dynamic Links

Google 도서 동적 링크 기능을 사용하면 사이트에서 Google 도서로 더 맞춤설정할 수 있고 안정적인 링크를 만들 수 있습니다. 예를 들어 이 도구를 사용하면 Google 색인에 도서가 있을 때만 표시되는 '스마트' 링크를 생성하거나 사용자에게 Google 도서에서 책을 미리 볼 수 있는지 알려주는 링크를 표시할 수 있습니다. 동적 링크 기능을 사용하면 Google 도서로 연결되는 링크에 썸네일 이미지를 포함할 수도 있습니다. 이 문서를 통해 사이트에 이 기능을 신속하게 추가할 수 있습니다.

참고: 이 기능은 이전에 도서 조회가능성 API로 알려졌습니다.

미리보기 마법사는 동적 링크 위에 구축된 도구로, 코드 몇 줄만 복사해도 사이트의 미리보기를 더욱 쉽게 연결할 수 있습니다. 이 문서는 도서검색 링크 방식을 맞춤설정하려는 고급 개발자를 대상으로 합니다.

콘텐츠

  1. 잠재고객
  2. 도서 검색 용어
  3. 소개
  4. 브랜드 가이드라인
  5. 클라이언트측 API
    1. 요청 URL 형식
    2. JSON 결과 형식
  6. 동기 및 비동기 모드
  7. 자주 묻는 질문(FAQ)
  8. 코드 샘플

시청자층

동적 링크 문서는 Google 도서 내 도서로 연결되는 웹 애플리케이션을 개발하려는 프로그래머를 위해 개발되었습니다. 이 문서에서는 사용자가 HTTP 프로토콜 및 기본 자바스크립트에 익숙하다고 가정합니다.

도서 검색 용어

Google 도서는 사용자의 현지 저작권 제한을 준수하므로 일부 지역에서 일부 도서의 미리보기 또는 전체보기 기능이 제공되지 않습니다. 조회가능성은 다음 클래스로 클러스터링됩니다.

전체 화면
책 전체를 볼 수 있습니다. 이러한 도서는 공개 도메인에 속할 수 있습니다.
일부 미리보기
도서의 일부를 볼 수 있습니다. 이 도서는 저작권 보호를 받으며 Google 도서에 이러한 페이지에 대한 액세스 권한을 부여했습니다. 이러한 도서는 사용자가 전체 페이지를 볼 수 있다는 점에서 발췌문 보기와 다릅니다.
스니펫 보기 및 미리보기 없음
사용자에게는 '도서 정보' 페이지만 표시됩니다. 도서의 짧은 발췌문만 사용할 수 있습니다. 도서가 스캔되지 않았거나 저작권 보호를 받고 있으며 Google 도서에서 사용자의 검색어와 관련된 몇 개 이상의 발췌문을 노출할 수 있는 권한을 받지 못했습니다.

소개

정적 링크 문서에서는 Google 도서에서 특정 도서의 페이지로 연결되는 URL을 생성하는 매우 간단한 방법을 설명합니다. 안타깝게도 Google 도서 색인에 특정 도서가 없거나 특정 지역에 거주하는 사용자가 미리보기를 사용할 수 없는 경우도 있습니다. 정적 링크는 '블라인드'이므로 의도된 효과를 내지 못하는 경우가 있습니다.

동적 링크는 자바스크립트를 사용하여 도서의 조회가능성을 쿼리하는 또 다른 프로그래매틱 클라이언트 측 방법을 제공합니다. 이렇게 하면 도서검색에 더 안정적이고 예측 가능한 링크를 추가하여 사용자에게 더 일관된 경험을 제공할 수 있습니다. 조회가능성은 최종 사용자의 위치에 따라 다르므로 동적 링크 인터페이스는 서버 측 또는 오프라인 쿼리용으로 설계되지 않았습니다.

동적 링크의 기능에 대해 알아보려면 이 문서 끝에 있는 코드 샘플을 참조하세요.

브랜드 가이드라인

동적 링크를 렌더링할 때는 Google Books API 제품군에 적용되는 브랜드 가이드라인을 준수해야 합니다. 특히

  • 저작자 표시 및 Google 도서 링크를 유지해야 합니다.
  • Google 도서의 미리보기에 연결할 때는 승인된 Google 미리보기 버튼만 사용해야 합니다.
  • 텍스트 링크, 버튼, 문서 또는 설명 텍스트는 승인된 이름 지정 규칙을 준수해야 합니다. 예를 들어 Google 도서 미리보기에 연결할 때는 동사 '다운로드'를 사용해서는 안 됩니다. 공개 도메인 저작물만 다운로드할 수 있기 때문입니다.

브랜드 예시

Freakonomics: 악의적인 경제학자가 모든 것의 숨겨진 측면을 탐색함
스티븐 레빗, 스티븐 더브너 저

이 문서 끝에 있는 샘플 섹션에서는 현재 브랜드 가이드라인을 준수하는 추가 예를 확인할 수 있습니다.

클라이언트 측 API

클라이언트 측 동적 링크의 핵심은 개발자가 하나 이상의 책에 관한 정보를 요청하는 URL을 구성하고 <script> 태그를 사용하여 Google 도서에 요청을 보낼 수 있게 해주는 URL 형식입니다.

구문 예:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

요청 형식

URL의 형식은 책에 연결하는 데 사용되는 URL 구문과 유사하지만 책 ID 필드에 쉼표로 구분된 책 ID가 여러 개 포함될 수 있으며 추가 ''jscmd'' 및 '콜백' 매개변수가 있습니다. 원하는 경우 추가 인수가 있어 조회가능성 필터를 제어할 수 있습니다.

동적 링크는 ISBN, OCLC 번호, LCCN 키 등 책을 식별하는 다양한 방법을 지원합니다. 이 API는 GET 요청의 최대 크기까지 일괄 쿼리를 허용합니다.

ISBN
&bibkeys=ISBN:0451526538(API는 ISBN 10과 13을 모두 지원합니다.)
OCLC
&bibkeys=OCLC:36792831
LLC
&bibkeys=LCCN:96072233

JSON 결과 형식

이 호출로 응답하면 요청된 도서에 대한 정보가 하나 이상의 JSON 객체로 반환됩니다. JSON 객체는 다음 구조를 사용합니다.

JsonSearchResult {
    string bib_key;
    string info_url;
    string preview_url;
    string thumbnail_url;
    string preview;
};

이 필드는 다음 정보를 제공합니다.

bi_key
책을 쿼리하는 데 사용되는 식별자입니다.
정보_URL
도서에 관한 정보가 포함된 페이지 (도서 정보 페이지)의 URL입니다.
미리보기 URL
책 미리보기의 URL로, 사용자를 책 표지로 바로 이동시킵니다. 요청에 발췌문 보기 또는 미리보기 책만 사용할 수 있는 경우 미리보기 URL이 반환되지 않습니다.
썸네일 이미지 URL
책 표지 썸네일의 URL입니다.
미리보기
책의 조회가능성 상태를 나타내는 값: full (전체보기 도서), partial (일부 미리보기만 해당) 또는 noview (발췌문 또는 미리보기 없음 도서)
삽입 가능
도서 검색 삽입된 뷰어를 사용하여 도서를 제3자 페이지에 삽입할 수 있는 경우 이 불리언은 true입니다.

응답은 두 개의 필드가 있는 JSON 객체이며, 이 필드에는 도서 객체 맵 값과 해당 요청에 사용 설정된 옵션 목록이 포함된 'options'가 포함되어 있습니다. 옵션을 지정하지 않으면 응답에서 'options' 필드를 생략할 수 있습니다. 예를 들면 다음과 같습니다.

Request:
https://books.google.com/books?jscmd=viewapi&bibkeys=0596000278,00-invalid-isbn,ISBN0765304368,0439554934&callback=ProcessGBSBookInfo

Response:
ProcessGBSBookInfo({
    "0596000278":{
        "bib_key":"0596000278",
        "info_url":"https://books.google.com/books?id=ezqe1hh91q4C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=ezqe1hh91q4C&printsec=frontcover&sig=zSQ5gwlX1NZl_24M86KS8Rbj33Q&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=ezqe1hh91q4C&pg=PR3&img=1&zoom=5&sig=bBmzIAIiCtMcM7Ii7TUHycqqEWg",
        "preview":"partial"
    },
    "ISBN0765304368":{
        "bib_key":"ISBN0765304368",
        "info_url":"https://books.google.com/books?id=gfg13CM_kU8C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_SkcQRhy_VvtnKbTXjmvos&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsTwGVAsy_qWYMPM6HVDTPAMokg",
        "preview":"full"
    },
    "0439554934":{
        "bib_key":"0439554934",
        "info_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=iwiYGwAACAAJ&printsec=frontcover&img=1&zoom=5&sig=_L6ySKDAs-8gNK28c3NyFdO22ZM",
        "preview":"noview"}
});

그러면 개발자는 GBS 서버에서 가져온 JSON 결과에 따라 웹페이지의 콘텐츠와 모양을 변경할 수 있습니다. 현재 GBS에서는 이 작업을 실행하도록 DOM을 수정하는 라이브러리를 제공하지 않습니다.

매개변수 및 추가 필드

jscmd
Google 도서에 대한 요청입니다.
콜백
반환을 전달할 자바스크립트 함수의 이름입니다.

동기 모드와 비동기 모드 비교

비동기 모드

비동기 모드에서 개발자는 문서의 <head><script> 태그를 배치하고 페이지 렌더링에 필요한 모든 식별자를 사용하여 URL을 구성합니다. 데이터는 변수 호출에서 수신됩니다. 이렇게 하면 문서의 나머지 부분에서 도서 정보를 확인할 수 있으며 HTML 및 자바스크립트에서 즉시 액세스할 수 있습니다.

동기 모드

동기 모드에서는 개발자가 HTML <body> 중간에 URL을 사용합니다. 응답은 자바스크립트 콜백을 사용하여 처리됩니다.

자주 묻는 질문(FAQ)

Q: 동적 링크를 사용하려면 API 키 또는 기타 권한이 필요한가요?
A: 동적 링크를 사용하려면 API 키나 기타 승인이 필요하지 않습니다. 시작하려면 예시 중 하나를 복사하여 붙여넣고 수정을 시작합니다.
Q: 자바스크립트를 지원하지 않거나 사용 중지한 브라우저는 어떻게 되나요?
A: 사용자의 브라우저에 자바스크립트가 사용 설정되어 있지 않을 때 Google 도서에 책이 있는지 테스트할 수 있는 방법은 없습니다. 자바스크립트가 없는 브라우저에서는 Google 도서의 정적 링크 구조를 사용하는 것이 좋지만, Google 도서에 링크된 책의 연결 여부를 미리 알 수는 없습니다.
Q: 한 번에 몇 권의 도서를 검색할 수 있나요?
A: 검색할 수 있는 책 수는 GET 요청의 길이로만 제한됩니다. Microsoft Internet Explorer에서 최대 URL 길이(2,083자(영문 기준))는 GET 요청의 길이를 제한합니다.
Q: Google 도서에서 얼마 전에 책 검색결과를 반환했습니다. 왜 이제 결과를 반환하지 않나요?
A: 개발자가 이례적인 수량을 요청하는 경우가 많기 때문에 Google 도서에서 발견되는 보안 예방 조치를 실수로 잘못 적용할 수 있습니다. 실제로 발생하는지 확인하려면 API에서 반환한 항목을 확인하세요. 보안문자 작성 요청이면 쿼리를 너무 많이 실행한 것입니다. Google 도서에 로그인하여 다시 시도해 보시기 바랍니다.
Q: 개인 정보 보호는 어떻게 되나요?
A: 도서 조회가능성에 관한 쿼리에 응답할 때 Google은 개인 식별이 불가능한 서버 로그 데이터를 수신합니다. Google은 사용자 개인 정보 보호를 매우 중요하게 여기며 개인정보처리방침에 설명된 대로 이 데이터를 처리합니다. 사용자에게 도서 조회가능성이 포함된 서비스를 제공하는 경우 서비스에서 동적 링크를 통해 검색어를 Google에 제출한다는 사실을 사용자에게 알려야 합니다.

코드 샘플

이 섹션에서는 동적 링크를 사용하는 다양한 방법을 보여주는 샘플을 제공합니다. 예를 클릭하면 예시를 직접 볼 수 있습니다. 기본 코드를 보려면 브라우저에서 '소스 보기'를 클릭하세요.

  • 도서 페이지의 미리보기 버튼
    동적 링크를 사용하여 사이트의 개별 도서 페이지에 '미리보기' 버튼을 추가하려는 경우를 위한 예입니다. 이 구현에서는 Google 도서에 동기식 호출을 사용합니다.
  • 과정 읽기 목록
    이 예시는 일반적인 교육 과정을 보여주는 도서 목록입니다. Google에서는 단일 동기 호출을 사용하여 Google 도서의 도서 페이지로 연결하고, 표지 이미지를 추가하고, 미리보기 가능 여부를 표시합니다.
  • 대체 도서 목록
    이전 예시와 마찬가지로 이 샘플은 비동기 API 콜백을 사용하여 도서검색에 대한 링크를 추가합니다.
  • 대화형 AJAX
    대화형 AJAX 애플리케이션에서 동적 링크를 사용하는 것이 좋습니다. 이 예에서는 페이지를 새로고침하지 않고 다양한 통화를 실행하는 방법을 보여줍니다.